uint16x4_t test_vset_lane_u16(uint16_t a, uint16x4_t b) { // CHECK-LABEL: test_vset_lane_u16: // CHECK-NEXT: ins.h v0[3], w0 // CHECK-NEXT: ret return vset_lane_u16(a, b, 3); }
uint16x4_t test_vset_lane_u16(uint16_t v1, uint16x4_t v2) { // CHECK: test_vset_lane_u16 return vset_lane_u16(v1, v2, 2); // CHECK: ins {{v[0-9]+}}.h[2], {{w[0-9]+}} }
// CHECK-LABEL: define <4 x i16> @test_vset_lane_u16(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]] uint16x4_t test_vset_lane_u16(uint16_t a, uint16x4_t b) { return vset_lane_u16(a, b, 3); }