Esempio n. 1
0
int
main (int argc, char **argv)
{
  uint64x1_t base_b = vcreate_u64 (0x5555666677778888ULL);
  uint64x1_t base_a = vcreate_u64 (0x1111222233334444ULL);
  uint64x1_t base_c = vcreate_u64 (0x9999aaaabbbbccccULL);
  uint64x2_t baseq_c = vcombine_u64 (base_c, base_a);
  uint64x2_t baseq_a = vcombine_u64 (base_a, base_b);
  int32x2_t int32x2_b = vreinterpret_s32_u64 (base_b);
  int32x4_t int32x4_c = vreinterpretq_s32_u64 (baseq_c);
  int64x2_t int64x2_a = vreinterpretq_s64_u64 (baseq_a);

  /* { dg-error "lane -1 out of range 0 - 3" "" {target *-*-*} 0 } */
  vqdmlal_laneq_s32 (int64x2_a, int32x2_b, int32x4_c, -1);
  /* { dg-error "lane 4 out of range 0 - 3" "" {target *-*-*} 0 } */
  vqdmlal_laneq_s32 (int64x2_a, int32x2_b, int32x4_c, 4);
}
Esempio n. 2
0
int64x2_t
test_vqdmlal_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c)
{
  return vqdmlal_laneq_s32 (__a, __b, __c, 3);
}