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); }
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); }
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] }