Lines Matching full:i16
14 define <4 x i16> @vld1lanei16(i16* %A, <4 x i16>* %B) nounwind {
18 %tmp1 = load <4 x i16>* %B
19 %tmp2 = load i16* %A, align 8
20 %tmp3 = insertelement <4 x i16> %tmp1, i16 %tmp2, i32 2
21 ret <4 x i16> %tmp3
62 define <8 x i16> @vld1laneQi16(i16* %A, <8 x i16>* %B) nounwind {
65 %tmp1 = load <8 x i16>* %B
66 %tmp2 = load i16* %A, align 8
67 %tmp3 = insertelement <8 x i16> %tmp1, i16 %tmp2, i32 5
68 ret <8 x i16> %tmp3
90 %struct.__neon_int16x4x2_t = type { <4 x i16>, <4 x i16> }
94 %struct.__neon_int16x8x2_t = type { <8 x i16>, <8 x i16> }
110 define <4 x i16> @vld2lanei16(i16* %A, <4 x i16>* %B) nounwind {
114 %tmp0 = bitcast i16* %A to i8*
115 %tmp1 = load <4 x i16>* %B
116 %tmp2 = call %struct.__neon_int16x4x2_t @llvm.arm.neon.vld2lane.v4i16(i8* %tmp0, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i32 8)
119 %tmp5 = add <4 x i16> %tmp3, %tmp4
120 ret <4 x i16> %tmp5
163 define <8 x i16> @vld2laneQi16(i16* %A, <8 x i16>* %B) nounwind {
167 %tmp0 = bitcast i16* %A to i8*
168 %tmp1 = load <8 x i16>* %B
169 %tmp2 = call %struct.__neon_int16x8x2_t @llvm.arm.neon.vld2lane.v8i16(i8* %tmp0, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 5, i32 1)
172 %tmp5 = add <8 x i16> %tmp3, %tmp4
173 ret <8 x i16> %tmp5
202 declare %struct.__neon_int16x4x2_t @llvm.arm.neon.vld2lane.v4i16(i8*, <4 x i16>, <4 x i16>, i32, i32) nounwind readonly
206 declare %struct.__neon_int16x8x2_t @llvm.arm.neon.vld2lane.v8i16(i8*, <8 x i16>, <8 x i16>, i32, i32) nounwind readonly
211 %struct.__neon_int16x4x3_t = type { <4 x i16>, <4 x i16>, <4 x i16> }
215 %struct.__neon_int16x8x3_t = type { <8 x i16>, <8 x i16>, <8 x i16> }
232 define <4 x i16> @vld3lanei16(i16* %A, <4 x i16>* %B) nounwind {
236 %tmp0 = bitcast i16* %A to i8*
237 %tmp1 = load <4 x i16>* %B
238 %tmp2 = call %struct.__neon_int16x4x3_t @llvm.arm.neon.vld3lane.v4i16(i8* %tmp0, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i32 8)
242 %tmp6 = add <4 x i16> %tmp3, %tmp4
243 %tmp7 = add <4 x i16> %tmp5, %tmp6
244 ret <4 x i16> %tmp7
275 define <8 x i16> @vld3laneQi16(i16* %A, <8 x i16>* %B) nounwind {
279 %tmp0 = bitcast i16* %A to i8*
280 %tmp1 = load <8 x i16>* %B
281 %tmp2 = call %struct.__neon_int16x8x3_t @llvm.arm.neon.vld3lane.v8i16(i8* %tmp0, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1, i32 8)
285 %tmp6 = add <8 x i16> %tmp3, %tmp4
286 %tmp7 = add <8 x i16> %tmp5, %tmp6
287 ret <8 x i16> %tmp7
291 define <8 x i16> @vld3laneQi16_update(i16** %ptr, <8 x i16>* %B, i32 %inc) nounwind {
294 %A = load i16** %ptr
295 %tmp0 = bitcast i16* %A to i8*
296 %tmp1 = load <8 x i16>* %B
297 %tmp2 = call %struct.__neon_int16x8x3_t @llvm.arm.neon.vld3lane.v8i16(i8* %tmp0, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1, i32 8)
301 %tmp6 = add <8 x i16> %tmp3, %tmp4
302 %tmp7 = add <8 x i16> %tmp5, %tmp6
303 %tmp8 = getelementptr i16* %A, i32 %inc
304 store i16* %tmp8, i16** %ptr
305 ret <8 x i16> %tmp7
337 declare %struct.__neon_int16x4x3_t @llvm.arm.neon.vld3lane.v4i16(i8*, <4 x i16>, <4 x i16>, <4 x i16>, i32, i32) nounwind readonly
341 declare %struct.__neon_int16x8x3_t @llvm.arm.neon.vld3lane.v8i16(i8*, <8 x i16>, <8 x i16>, <8 x i16>, i32, i32) nounwind readonly
346 %struct.__neon_int16x4x4_t = type { <4 x i16>, <4 x i16>, <4 x i16>, <4 x i16> }
350 %struct.__neon_int16x8x4_t = type { <8 x i16>, <8 x i16>, <8 x i16>, <8 x i16> }
389 define <4 x i16> @vld4lanei16(i16* %A, <4 x i16>* %B) nounwind {
394 %tmp0 = bitcast i16* %A to i8*
395 %tmp1 = load <4 x i16>* %B
396 %tmp2 = call %struct.__neon_int16x4x4_t @llvm.arm.neon.vld4lane.v4i16(i8* %tmp0, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i32 4)
401 %tmp7 = add <4 x i16> %tmp3, %tmp4
402 %tmp8 = add <4 x i16> %tmp5, %tmp6
403 %tmp9 = add <4 x i16> %tmp7, %tmp8
404 ret <4 x i16> %tmp9
441 define <8 x i16> @vld4laneQi16(i16* %A, <8 x i16>* %B) nounwind {
445 %tmp0 = bitcast i16* %A to i8*
446 %tmp1 = load <8 x i16>* %B
447 %tmp2 = call %struct.__neon_int16x8x4_t @llvm.arm.neon.vld4lane.v8i16(i8* %tmp0, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1, i32 16)
452 %tmp7 = add <8 x i16> %tmp3, %tmp4
453 %tmp8 = add <8 x i16> %tmp5, %tmp6
454 %tmp9 = add <8 x i16> %tmp7, %tmp8
455 ret <8 x i16> %tmp9
492 declare %struct.__neon_int16x4x4_t @llvm.arm.neon.vld4lane.v4i16(i8*, <4 x i16>, <4 x i16>, <4 x i16>, <4 x i16>, i32, i32) nounwind readonly
496 declare %struct.__neon_int16x8x4_t @llvm.arm.neon.vld4lane.v8i16(i8*, <8 x i16>, <8 x i16>, <8 x i16>, <8 x i16>, i32, i32) nounwind readonly
504 define <8 x i16> @test_qqqq_regsequence_subreg([6 x i64] %b) nounwind {
511 %tmp78 = bitcast i128 %ins67 to <8 x i16>
512 %vld3_lane = tail call %struct.__neon_int16x8x3_t @llvm.arm.neon.vld3lane.v8i16(i8* undef, <8 x i16> undef, <8 x i16> undef, <8 x i16> %tmp78, i32 1, i32 2)
516 %tmp6 = add <8 x i16> %tmp3, %tmp4
517 %tmp7 = add <8 x i16> %tmp5, %tmp6
518 ret <8 x i16> %tmp7