int main (int argc, char **argv) { uint64x1_t base_a = vcreate_u64 (0x1111222233334444ULL); uint64x1_t base_b = vcreate_u64 (0x5555666677778888ULL); int32x2_t int32x2_a = vreinterpret_s32_u64 (base_a); int32x2_t int32x2_b = vreinterpret_s32_u64 (base_b); /* { dg-error "lane -1 out of range 0 - 1" "" {target *-*-*} 0 } */ vqdmull_lane_s32 (int32x2_a, int32x2_b, -1); /* { dg-error "lane 2 out of range 0 - 1" "" {target *-*-*} 0 } */ vqdmull_lane_s32 (int32x2_a, int32x2_b, 2); }
void test_vqdmull_lanes32 (void) { int64x2_t out_int64x2_t; int32x2_t arg0_int32x2_t; int32x2_t arg1_int32x2_t; out_int64x2_t = vqdmull_lane_s32 (arg0_int32x2_t, arg1_int32x2_t, 1); }
int64x2_t test_vqdmull_lane_s32 (int32x2_t __a, int32x4_t __b) { return vqdmull_lane_s32 (__a, __b, 1); }
int64x2_t test_vqdmull_lane_s32(int32x2_t a, int32x2_t v) { // CHECK: test_vqdmull_lane_s32 return vqdmull_lane_s32(a, v, 1); // CHECK: sqdmull {{v[0-9]+}}.2d, {{v[0-9]+}}.2s, {{v[0-9]+}}.s[1] }
int64x2_t t_vqdmull_lane_s32 (int32x2_t a, int32x2_t b) { return vqdmull_lane_s32 (a, b, 0); }