コード例 #1
0
int
main (int argc, char **argv)
{
  uint64x1_t base_a = vcreate_u64 (0x1111222233334444ULL);
  uint64x1_t base_b = vcreate_u64 (0x5555666677778888ULL);
  int16x4_t int16x4_a = vreinterpret_s16_u64 (base_a);
  int16x4_t int16x4_b = vreinterpret_s16_u64 (base_b);

  /* { dg-error "lane -1 out of range 0 - 3" "" {target *-*-*} 0 } */
  vqdmulh_lane_s16 (int16x4_a, int16x4_b, -1);
  /* { dg-error "lane 4 out of range 0 - 3" "" {target *-*-*} 0 } */
  vqdmulh_lane_s16 (int16x4_a, int16x4_b, 4);
}
コード例 #2
0
void test_vqdmulh_lanes16 (void)
{
  int16x4_t out_int16x4_t;
  int16x4_t arg0_int16x4_t;
  int16x4_t arg1_int16x4_t;

  out_int16x4_t = vqdmulh_lane_s16 (arg0_int16x4_t, arg1_int16x4_t, 1);
}
コード例 #3
0
int16x4_t test_vqdmulh_lane_s16(int16x4_t a, int16x4_t v) {
  // CHECK: test_vqdmulh_lane_s16
  return vqdmulh_lane_s16(a, v, 1);
  // CHECK: sqdmulh {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, {{v[0-9]+}}.h[1]
}