void test_vset_lanes16 (void) { int16x4_t out_int16x4_t; int16_t arg0_int16_t; int16x4_t arg1_int16x4_t; out_int16x4_t = vset_lane_s16 (arg0_int16_t, arg1_int16x4_t, 1); }
int16x4_t test_vset_lane_s16(int16_t v1, int16x4_t v2) { // CHECK: test_vset_lane_s16 return vset_lane_s16(v1, v2, 2); // CHECK: ins {{v[0-9]+}}.h[2], {{w[0-9]+}} }
int16x4_t test_vset_lane_s16(int16_t a, int16x4_t b) { // CHECK-LABEL: test_vset_lane_s16: // CHECK-NEXT: ins.h v0[3], w0 // CHECK-NEXT: ret return vset_lane_s16(a, b, 3); }
// CHECK-LABEL: define <4 x i16> @test_vset_lane_s16(i16 %a, <4 x i16> %b) #0 { // CHECK: [[TMP0:%.*]] = bitcast <4 x i16> %b to <8 x i8> // CHECK: [[TMP1:%.*]] = bitcast <8 x i8> [[TMP0]] to <4 x i16> // CHECK: [[VSET_LANE:%.*]] = insertelement <4 x i16> [[TMP1]], i16 %a, i32 3 // CHECK: ret <4 x i16> [[VSET_LANE]] int16x4_t test_vset_lane_s16(int16_t a, int16x4_t b) { return vset_lane_s16(a, b, 3); }