Lines Matching full:i64
30 define <1 x i64> @vsubi64(<1 x i64>* %A, <1 x i64>* %B) nounwind {
32 ;CHECK: vsub.i64
33 %tmp1 = load <1 x i64>* %A
34 %tmp2 = load <1 x i64>* %B
35 %tmp3 = sub <1 x i64> %tmp1, %tmp2
36 ret <1 x i64> %tmp3
75 define <2 x i64> @vsubQi64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
77 ;CHECK: vsub.i64
78 %tmp1 = load <2 x i64>* %A
79 %tmp2 = load <2 x i64>* %B
80 %tmp3 = sub <2 x i64> %tmp1, %tmp2
81 ret <2 x i64> %tmp3
111 define <2 x i32> @vsubhni64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
113 ;CHECK: vsubhn.i64
114 %tmp1 = load <2 x i64>* %A
115 %tmp2 = load <2 x i64>* %B
116 %tmp3 = call <2 x i32> @llvm.arm.neon.vsubhn.v2i32(<2 x i64> %tmp1, <2 x i64> %tmp2)
122 declare <2 x i32> @llvm.arm.neon.vsubhn.v2i32(<2 x i64>, <2 x i64>) nounwind readnone
142 define <2 x i32> @vrsubhni64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
144 ;CHECK: vrsubhn.i64
145 %tmp1 = load <2 x i64>* %A
146 %tmp2 = load <2 x i64>* %B
147 %tmp3 = call <2 x i32> @llvm.arm.neon.vrsubhn.v2i32(<2 x i64> %tmp1, <2 x i64> %tmp2)
153 declare <2 x i32> @llvm.arm.neon.vrsubhn.v2i32(<2 x i64>, <2 x i64>) nounwind readnone
177 define <2 x i64> @vsubls32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
182 %tmp3 = sext <2 x i32> %tmp1 to <2 x i64>
183 %tmp4 = sext <2 x i32> %tmp2 to <2 x i64>
184 %tmp5 = sub <2 x i64> %tmp3, %tmp4
185 ret <2 x i64> %tmp5
210 define <2 x i64> @vsublu32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
215 %tmp3 = zext <2 x i32> %tmp1 to <2 x i64>
216 %tmp4 = zext <2 x i32> %tmp2 to <2 x i64>
217 %tmp5 = sub <2 x i64> %tmp3, %tmp4
218 ret <2 x i64> %tmp5
241 define <2 x i64> @vsubws32(<2 x i64>* %A, <2 x i32>* %B) nounwind {
244 %tmp1 = load <2 x i64>* %A
246 %tmp3 = sext <2 x i32> %tmp2 to <2 x i64>
247 %tmp4 = sub <2 x i64> %tmp1, %tmp3
248 ret <2 x i64> %tmp4
271 define <2 x i64> @vsubwu32(<2 x i64>* %A, <2 x i32>* %B) nounwind {
274 %tmp1 = load <2 x i64>* %A
276 %tmp3 = zext <2 x i32> %tmp2 to <2 x i64>
277 %tmp4 = sub <2 x i64> %tmp1, %tmp3
278 ret <2 x i64> %tmp4