Пример #1
0
int
main (int argc, char **argv)
{
  uint64x1_t base_b = vcreate_u64 (0x5555666677778888ULL);
  uint64x1_t base_c = vcreate_u64 (0x9999aaaabbbbccccULL);
  uint64x1_t base_a = vcreate_u64 (0x1111222233334444ULL);
  uint64x2_t baseq_a = vcombine_u64 (base_a, base_b);
  int16x4_t int16x4_b = vreinterpret_s16_u64 (base_b);
  int16x4_t int16x4_c = vreinterpret_s16_u64 (base_c);
  int32x4_t int32x4_a = vreinterpretq_s32_u64 (baseq_a);

  /* { dg-error "lane -1 out of range 0 - 3" "" {target *-*-*} 0 } */
  vqdmlsl_lane_s16 (int32x4_a, int16x4_b, int16x4_c, -1);
  /* { dg-error "lane 4 out of range 0 - 3" "" {target *-*-*} 0 } */
  vqdmlsl_lane_s16 (int32x4_a, int16x4_b, int16x4_c, 4);
}
Пример #2
0
void test_vqdmlsl_lanes16 (void)
{
  int32x4_t out_int32x4_t;
  int32x4_t arg0_int32x4_t;
  int16x4_t arg1_int16x4_t;
  int16x4_t arg2_int16x4_t;

  out_int32x4_t = vqdmlsl_lane_s16 (arg0_int32x4_t, arg1_int16x4_t, arg2_int16x4_t, 1);
}
Пример #3
0
int32x4_t
test_vqdmlsl_lane_s16 (int32x4_t a, int16x4_t b, int16x8_t c)
{
  return vqdmlsl_lane_s16 (a, b, c, 3);
}
Пример #4
0
int32x4_t test_vqdmlsl_lane_s16(int32x4_t a, int16x4_t b, int16x4_t v) {
  // CHECK: test_vqdmlsl_lane_s16
  return vqdmlsl_lane_s16(a, b, v, 1);
  // CHECK: sqdmlsl {{v[0-9]+}}.4s, {{v[0-9]+}}.4h, {{v[0-9]+}}.h[1]
}
Пример #5
0
int32x4_t
foo2 (int32x4_t a, int16x4_t b, int16x4_t c, int d)
{
  return vqdmlsl_lane_s16 (a, b, c, d);
}