OLD | NEW |
1 ; RUN: pnacl-llc -mtriple=armv7-unknown-nacl -mattr=+neon -filetype=obj %s -o -
\ | 1 ; RUN: pnacl-llc -mtriple=armv7-unknown-nacl -mattr=+neon -filetype=obj %s -o -
\ |
2 ; RUN: | llvm-objdump -disassemble -triple armv7 - | FileCheck %s | 2 ; RUN: | llvm-objdump -disassemble -triple armv7 - | FileCheck %s |
3 | 3 |
4 %struct.__neon_int8x8x2_t = type { <8 x i8>, <8 x i8> } | 4 %struct.__neon_int8x8x2_t = type { <8 x i8>, <8 x i8> } |
5 %struct.__neon_int16x4x2_t = type { <4 x i16>, <4 x i16> } | 5 %struct.__neon_int16x4x2_t = type { <4 x i16>, <4 x i16> } |
6 %struct.__neon_int32x2x2_t = type { <2 x i32>, <2 x i32> } | 6 %struct.__neon_int32x2x2_t = type { <2 x i32>, <2 x i32> } |
7 %struct.__neon_float32x2x2_t = type { <2 x float>, <2 x float> } | 7 %struct.__neon_float32x2x2_t = type { <2 x float>, <2 x float> } |
8 | 8 |
9 %struct.__neon_int16x8x2_t = type { <8 x i16>, <8 x i16> } | 9 %struct.__neon_int16x8x2_t = type { <8 x i16>, <8 x i16> } |
10 %struct.__neon_int32x4x2_t = type { <4 x i32>, <4 x i32> } | 10 %struct.__neon_int32x4x2_t = type { <4 x i32>, <4 x i32> } |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 declare %struct.__neon_int8x8x4_t @llvm.arm.neon.vld4lane.v8i8(i8*, <8 x i8>, <8
x i8>, <8 x i8>, <8 x i8>, i32, i32) nounwind readonly | 49 declare %struct.__neon_int8x8x4_t @llvm.arm.neon.vld4lane.v8i8(i8*, <8 x i8>, <8
x i8>, <8 x i8>, <8 x i8>, i32, i32) nounwind readonly |
50 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 | 50 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 |
51 declare %struct.__neon_int32x2x4_t @llvm.arm.neon.vld4lane.v2i32(i8*, <2 x i32>,
<2 x i32>, <2 x i32>, <2 x i32>, i32, i32) nounwind readonly | 51 declare %struct.__neon_int32x2x4_t @llvm.arm.neon.vld4lane.v2i32(i8*, <2 x i32>,
<2 x i32>, <2 x i32>, <2 x i32>, i32, i32) nounwind readonly |
52 declare %struct.__neon_float32x2x4_t @llvm.arm.neon.vld4lane.v2f32(i8*, <2 x flo
at>, <2 x float>, <2 x float>, <2 x float>, i32, i32) nounwind readonly | 52 declare %struct.__neon_float32x2x4_t @llvm.arm.neon.vld4lane.v2f32(i8*, <2 x flo
at>, <2 x float>, <2 x float>, <2 x float>, i32, i32) nounwind readonly |
53 | 53 |
54 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 | 54 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 |
55 declare %struct.__neon_int32x4x4_t @llvm.arm.neon.vld4lane.v4i32(i8*, <4 x i32>,
<4 x i32>, <4 x i32>, <4 x i32>, i32, i32) nounwind readonly | 55 declare %struct.__neon_int32x4x4_t @llvm.arm.neon.vld4lane.v4i32(i8*, <4 x i32>,
<4 x i32>, <4 x i32>, <4 x i32>, i32, i32) nounwind readonly |
56 declare %struct.__neon_float32x4x4_t @llvm.arm.neon.vld4lane.v4f32(i8*, <4 x flo
at>, <4 x float>, <4 x float>, <4 x float>, i32, i32) nounwind readonly | 56 declare %struct.__neon_float32x4x4_t @llvm.arm.neon.vld4lane.v4f32(i8*, <4 x flo
at>, <4 x float>, <4 x float>, <4 x float>, i32, i32) nounwind readonly |
57 | 57 |
58 define <8 x i8> @vld1lanei8(i8* %A, <8 x i8>* %B) nounwind { | 58 define <8 x i8> @vld1lanei8(i8* %A, <8 x i8>* %B) nounwind { |
59 %tmp1 = load <8 x i8>* %B | 59 %tmp1 = load <8 x i8>, <8 x i8>* %B |
60 %tmp2 = load i8* %A, align 8 | 60 %tmp2 = load i8, i8* %A, align 8 |
61 %tmp3 = insertelement <8 x i8> %tmp1, i8 %tmp2, i32 3 | 61 %tmp3 = insertelement <8 x i8> %tmp1, i8 %tmp2, i32 3 |
62 ; CHECK: bic r0, r0, #3221225472 | 62 ; CHECK: bic r0, r0, #-1073741824 |
63 ; CHECK-NEXT: vld1.8 {{{d[0-9]+\[[0-9]\]}}}, [r0] | 63 ; CHECK-NEXT: vld1.8 {{{d[0-9]+\[[0-9]\]}}}, [r0] |
64 ret <8 x i8> %tmp3 | 64 ret <8 x i8> %tmp3 |
65 } | 65 } |
66 | 66 |
67 define <4 x i16> @vld1lanei16(i16* %A, <4 x i16>* %B) nounwind { | 67 define <4 x i16> @vld1lanei16(i16* %A, <4 x i16>* %B) nounwind { |
68 %tmp1 = load <4 x i16>* %B | 68 %tmp1 = load <4 x i16>, <4 x i16>* %B |
69 %tmp2 = load i16* %A, align 8 | 69 %tmp2 = load i16, i16* %A, align 8 |
70 %tmp3 = insertelement <4 x i16> %tmp1, i16 %tmp2, i32 2 | 70 %tmp3 = insertelement <4 x i16> %tmp1, i16 %tmp2, i32 2 |
71 ; CHECK: bic r0, r0, #3221225472 | 71 ; CHECK: bic r0, r0, #-1073741824 |
72 ; CHECK-NEXT: vld1.16 {{{d[0-9]+\[[0-9]\]}}}, [r0:16] | 72 ; CHECK-NEXT: vld1.16 {{{d[0-9]+\[[0-9]\]}}}, [r0:16] |
73 ret <4 x i16> %tmp3 | 73 ret <4 x i16> %tmp3 |
74 } | 74 } |
75 | 75 |
76 define <2 x i32> @vld1lanei32(i32* %A, <2 x i32>* %B) nounwind { | 76 define <2 x i32> @vld1lanei32(i32* %A, <2 x i32>* %B) nounwind { |
77 %tmp1 = load <2 x i32>* %B | 77 %tmp1 = load <2 x i32>, <2 x i32>* %B |
78 %tmp2 = load i32* %A, align 8 | 78 %tmp2 = load i32, i32* %A, align 8 |
79 %tmp3 = insertelement <2 x i32> %tmp1, i32 %tmp2, i32 1 | 79 %tmp3 = insertelement <2 x i32> %tmp1, i32 %tmp2, i32 1 |
80 ; CHECK: bic r0, r0, #3221225472 | 80 ; CHECK: bic r0, r0, #-1073741824 |
81 ; CHECK-NEXT: vld1.32 {{{d[0-9]+\[[0-9]\]}}}, [r0:32] | 81 ; CHECK-NEXT: vld1.32 {{{d[0-9]+\[[0-9]\]}}}, [r0:32] |
82 ret <2 x i32> %tmp3 | 82 ret <2 x i32> %tmp3 |
83 } | 83 } |
84 | 84 |
85 define <16 x i8> @vld1laneQi8(i8* %A, <16 x i8>* %B) nounwind { | 85 define <16 x i8> @vld1laneQi8(i8* %A, <16 x i8>* %B) nounwind { |
86 %tmp1 = load <16 x i8>* %B | 86 %tmp1 = load <16 x i8>, <16 x i8>* %B |
87 %tmp2 = load i8* %A, align 8 | 87 %tmp2 = load i8, i8* %A, align 8 |
88 %tmp3 = insertelement <16 x i8> %tmp1, i8 %tmp2, i32 9 | 88 %tmp3 = insertelement <16 x i8> %tmp1, i8 %tmp2, i32 9 |
89 ; CHECK: bic r0, r0, #3221225472 | 89 ; CHECK: bic r0, r0, #-1073741824 |
90 ; CHECK-NEXT: vld1.8 {{{d[0-9]+\[[0-9]\]}}}, [r0] | 90 ; CHECK-NEXT: vld1.8 {{{d[0-9]+\[[0-9]\]}}}, [r0] |
91 ret <16 x i8> %tmp3 | 91 ret <16 x i8> %tmp3 |
92 } | 92 } |
93 | 93 |
94 define <8 x i16> @vld1laneQi16(i16* %A, <8 x i16>* %B) nounwind { | 94 define <8 x i16> @vld1laneQi16(i16* %A, <8 x i16>* %B) nounwind { |
95 %tmp1 = load <8 x i16>* %B | 95 %tmp1 = load <8 x i16>, <8 x i16>* %B |
96 %tmp2 = load i16* %A, align 8 | 96 %tmp2 = load i16, i16* %A, align 8 |
97 %tmp3 = insertelement <8 x i16> %tmp1, i16 %tmp2, i32 5 | 97 %tmp3 = insertelement <8 x i16> %tmp1, i16 %tmp2, i32 5 |
98 ; CHECK: bic r0, r0, #3221225472 | 98 ; CHECK: bic r0, r0, #-1073741824 |
99 ; CHECK-NEXT: vld1.16 {{{d[0-9]+\[[0-9]\]}}}, [r0:16] | 99 ; CHECK-NEXT: vld1.16 {{{d[0-9]+\[[0-9]\]}}}, [r0:16] |
100 ret <8 x i16> %tmp3 | 100 ret <8 x i16> %tmp3 |
101 } | 101 } |
102 | 102 |
103 define <4 x i32> @vld1laneQi32(i32* %A, <4 x i32>* %B) nounwind { | 103 define <4 x i32> @vld1laneQi32(i32* %A, <4 x i32>* %B) nounwind { |
104 %tmp1 = load <4 x i32>* %B | 104 %tmp1 = load <4 x i32>, <4 x i32>* %B |
105 %tmp2 = load i32* %A, align 8 | 105 %tmp2 = load i32, i32* %A, align 8 |
106 %tmp3 = insertelement <4 x i32> %tmp1, i32 %tmp2, i32 3 | 106 %tmp3 = insertelement <4 x i32> %tmp1, i32 %tmp2, i32 3 |
107 ; CHECK: bic r0, r0, #3221225472 | 107 ; CHECK: bic r0, r0, #-1073741824 |
108 ; CHECK-NEXT: vld1.32 {{{d[0-9]+\[[0-9]\]}}}, [r0:32] | 108 ; CHECK-NEXT: vld1.32 {{{d[0-9]+\[[0-9]\]}}}, [r0:32] |
109 ret <4 x i32> %tmp3 | 109 ret <4 x i32> %tmp3 |
110 } | 110 } |
111 | 111 |
112 define <8 x i8> @vld2lanei8(i8* %A, <8 x i8>* %B) nounwind { | 112 define <8 x i8> @vld2lanei8(i8* %A, <8 x i8>* %B) nounwind { |
113 %tmp1 = load <8 x i8>* %B | 113 %tmp1 = load <8 x i8>, <8 x i8>* %B |
114 %tmp2 = call %struct.__neon_int8x8x2_t @llvm.arm.neon.vld2lane.v8i8(i8* %A, <8
x i8> %tmp1, <8 x i8> %tmp1, i32 1, i32 4) | 114 %tmp2 = call %struct.__neon_int8x8x2_t @llvm.arm.neon.vld2lane.v8i8(i8* %A, <8
x i8> %tmp1, <8 x i8> %tmp1, i32 1, i32 4) |
115 %tmp3 = extractvalue %struct.__neon_int8x8x2_t %tmp2, 0 | 115 %tmp3 = extractvalue %struct.__neon_int8x8x2_t %tmp2, 0 |
116 %tmp4 = extractvalue %struct.__neon_int8x8x2_t %tmp2, 1 | 116 %tmp4 = extractvalue %struct.__neon_int8x8x2_t %tmp2, 1 |
117 %tmp5 = add <8 x i8> %tmp3, %tmp4 | 117 %tmp5 = add <8 x i8> %tmp3, %tmp4 |
118 ; CHECK: bic r0, r0, #3221225472 | 118 ; CHECK: bic r0, r0, #-1073741824 |
119 ; CHECK-NEXT: vld2.8 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:16] | 119 ; CHECK-NEXT: vld2.8 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:16] |
120 ret <8 x i8> %tmp5 | 120 ret <8 x i8> %tmp5 |
121 } | 121 } |
122 | 122 |
123 define <4 x i16> @vld2lanei16(i16* %A, <4 x i16>* %B) nounwind { | 123 define <4 x i16> @vld2lanei16(i16* %A, <4 x i16>* %B) nounwind { |
124 %tmp0 = bitcast i16* %A to i8* | 124 %tmp0 = bitcast i16* %A to i8* |
125 %tmp1 = load <4 x i16>* %B | 125 %tmp1 = load <4 x i16>, <4 x i16>* %B |
126 %tmp2 = call %struct.__neon_int16x4x2_t @llvm.arm.neon.vld2lane.v4i16(i8* %tmp
0, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i32 8) | 126 %tmp2 = call %struct.__neon_int16x4x2_t @llvm.arm.neon.vld2lane.v4i16(i8* %tmp
0, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i32 8) |
127 %tmp3 = extractvalue %struct.__neon_int16x4x2_t %tmp2, 0 | 127 %tmp3 = extractvalue %struct.__neon_int16x4x2_t %tmp2, 0 |
128 %tmp4 = extractvalue %struct.__neon_int16x4x2_t %tmp2, 1 | 128 %tmp4 = extractvalue %struct.__neon_int16x4x2_t %tmp2, 1 |
129 %tmp5 = add <4 x i16> %tmp3, %tmp4 | 129 %tmp5 = add <4 x i16> %tmp3, %tmp4 |
130 ; CHECK: bic r0, r0, #3221225472 | 130 ; CHECK: bic r0, r0, #-1073741824 |
131 ; CHECK-NEXT: vld2.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:32] | 131 ; CHECK-NEXT: vld2.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:32] |
132 ret <4 x i16> %tmp5 | 132 ret <4 x i16> %tmp5 |
133 } | 133 } |
134 | 134 |
135 define <2 x i32> @vld2lanei32(i32 %foo, i32 %bar, i32 %baz, | 135 define <2 x i32> @vld2lanei32(i32 %foo, i32 %bar, i32 %baz, |
136 i32* %A, <2 x i32>* %B) nounwind { | 136 i32* %A, <2 x i32>* %B) nounwind { |
137 %tmp0 = bitcast i32* %A to i8* | 137 %tmp0 = bitcast i32* %A to i8* |
138 %tmp1 = load <2 x i32>* %B | 138 %tmp1 = load <2 x i32>, <2 x i32>* %B |
139 %tmp2 = call %struct.__neon_int32x2x2_t @llvm.arm.neon.vld2lane.v2i32(i8* %tmp
0, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1, i32 1) | 139 %tmp2 = call %struct.__neon_int32x2x2_t @llvm.arm.neon.vld2lane.v2i32(i8* %tmp
0, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1, i32 1) |
140 %tmp3 = extractvalue %struct.__neon_int32x2x2_t %tmp2, 0 | 140 %tmp3 = extractvalue %struct.__neon_int32x2x2_t %tmp2, 0 |
141 %tmp4 = extractvalue %struct.__neon_int32x2x2_t %tmp2, 1 | 141 %tmp4 = extractvalue %struct.__neon_int32x2x2_t %tmp2, 1 |
142 %tmp5 = add <2 x i32> %tmp3, %tmp4 | 142 %tmp5 = add <2 x i32> %tmp3, %tmp4 |
143 ; CHECK: bic r3, r3, #3221225472 | 143 ; CHECK: bic r3, r3, #-1073741824 |
144 ; CHECK-NEXT: vld2.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r3] | 144 ; CHECK-NEXT: vld2.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r3] |
145 ret <2 x i32> %tmp5 | 145 ret <2 x i32> %tmp5 |
146 } | 146 } |
147 | 147 |
148 define <8 x i16> @vld2laneQi16(i16* %A, <8 x i16>* %B) nounwind { | 148 define <8 x i16> @vld2laneQi16(i16* %A, <8 x i16>* %B) nounwind { |
149 %tmp0 = bitcast i16* %A to i8* | 149 %tmp0 = bitcast i16* %A to i8* |
150 %tmp1 = load <8 x i16>* %B | 150 %tmp1 = load <8 x i16>, <8 x i16>* %B |
151 %tmp2 = call %struct.__neon_int16x8x2_t @llvm.arm.neon.vld2lane.v8i16(i8* %tmp
0, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 5, i32 1) | 151 %tmp2 = call %struct.__neon_int16x8x2_t @llvm.arm.neon.vld2lane.v8i16(i8* %tmp
0, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 5, i32 1) |
152 %tmp3 = extractvalue %struct.__neon_int16x8x2_t %tmp2, 0 | 152 %tmp3 = extractvalue %struct.__neon_int16x8x2_t %tmp2, 0 |
153 %tmp4 = extractvalue %struct.__neon_int16x8x2_t %tmp2, 1 | 153 %tmp4 = extractvalue %struct.__neon_int16x8x2_t %tmp2, 1 |
154 %tmp5 = add <8 x i16> %tmp3, %tmp4 | 154 %tmp5 = add <8 x i16> %tmp3, %tmp4 |
155 ; CHECK: bic r0, r0, #3221225472 | 155 ; CHECK: bic r0, r0, #-1073741824 |
156 ; CHECK-NEXT: vld2.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0] | 156 ; CHECK-NEXT: vld2.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0] |
157 ret <8 x i16> %tmp5 | 157 ret <8 x i16> %tmp5 |
158 } | 158 } |
159 | 159 |
160 define <4 x i32> @vld2laneQi32(i32* %A, <4 x i32>* %B) nounwind { | 160 define <4 x i32> @vld2laneQi32(i32* %A, <4 x i32>* %B) nounwind { |
161 %tmp0 = bitcast i32* %A to i8* | 161 %tmp0 = bitcast i32* %A to i8* |
162 %tmp1 = load <4 x i32>* %B | 162 %tmp1 = load <4 x i32>, <4 x i32>* %B |
163 %tmp2 = call %struct.__neon_int32x4x2_t @llvm.arm.neon.vld2lane.v4i32(i8* %tmp
0, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 2, i32 16) | 163 %tmp2 = call %struct.__neon_int32x4x2_t @llvm.arm.neon.vld2lane.v4i32(i8* %tmp
0, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 2, i32 16) |
164 %tmp3 = extractvalue %struct.__neon_int32x4x2_t %tmp2, 0 | 164 %tmp3 = extractvalue %struct.__neon_int32x4x2_t %tmp2, 0 |
165 %tmp4 = extractvalue %struct.__neon_int32x4x2_t %tmp2, 1 | 165 %tmp4 = extractvalue %struct.__neon_int32x4x2_t %tmp2, 1 |
166 %tmp5 = add <4 x i32> %tmp3, %tmp4 | 166 %tmp5 = add <4 x i32> %tmp3, %tmp4 |
167 ; CHECK: bic r0, r0, #3221225472 | 167 ; CHECK: bic r0, r0, #-1073741824 |
168 ; CHECK-NEXT: vld2.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:64] | 168 ; CHECK-NEXT: vld2.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:64] |
169 ret <4 x i32> %tmp5 | 169 ret <4 x i32> %tmp5 |
170 } | 170 } |
171 | 171 |
172 define <8 x i8> @vld3lanei8(i8* %A, <8 x i8>* %B) nounwind { | 172 define <8 x i8> @vld3lanei8(i8* %A, <8 x i8>* %B) nounwind { |
173 %tmp1 = load <8 x i8>* %B | 173 %tmp1 = load <8 x i8>, <8 x i8>* %B |
174 %tmp2 = call %struct.__neon_int8x8x3_t @llvm.arm.neon.vld3lane.v8i8(i8* %A, <8
x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, i32 1, i32 1) | 174 %tmp2 = call %struct.__neon_int8x8x3_t @llvm.arm.neon.vld3lane.v8i8(i8* %A, <8
x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, i32 1, i32 1) |
175 %tmp3 = extractvalue %struct.__neon_int8x8x3_t %tmp2, 0 | 175 %tmp3 = extractvalue %struct.__neon_int8x8x3_t %tmp2, 0 |
176 %tmp4 = extractvalue %struct.__neon_int8x8x3_t %tmp2, 1 | 176 %tmp4 = extractvalue %struct.__neon_int8x8x3_t %tmp2, 1 |
177 %tmp5 = extractvalue %struct.__neon_int8x8x3_t %tmp2, 2 | 177 %tmp5 = extractvalue %struct.__neon_int8x8x3_t %tmp2, 2 |
178 %tmp6 = add <8 x i8> %tmp3, %tmp4 | 178 %tmp6 = add <8 x i8> %tmp3, %tmp4 |
179 %tmp7 = add <8 x i8> %tmp5, %tmp6 | 179 %tmp7 = add <8 x i8> %tmp5, %tmp6 |
180 ; CHECK: bic r0, r0, #3221225472 | 180 ; CHECK: bic r0, r0, #-1073741824 |
181 ; CHECK-NEXT: vld3.8 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[
[0-9]\]}}}, [r0] | 181 ; CHECK-NEXT: vld3.8 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[
[0-9]\]}}}, [r0] |
182 ret <8 x i8> %tmp7 | 182 ret <8 x i8> %tmp7 |
183 } | 183 } |
184 | 184 |
185 define <4 x i16> @vld3lanei16(i16* %A, <4 x i16>* %B) nounwind { | 185 define <4 x i16> @vld3lanei16(i16* %A, <4 x i16>* %B) nounwind { |
186 %tmp0 = bitcast i16* %A to i8* | 186 %tmp0 = bitcast i16* %A to i8* |
187 %tmp1 = load <4 x i16>* %B | 187 %tmp1 = load <4 x i16>, <4 x i16>* %B |
188 %tmp2 = call %struct.__neon_int16x4x3_t @llvm.arm.neon.vld3lane.v4i16(i8* %tmp
0, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i32 8) | 188 %tmp2 = call %struct.__neon_int16x4x3_t @llvm.arm.neon.vld3lane.v4i16(i8* %tmp
0, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i32 8) |
189 %tmp3 = extractvalue %struct.__neon_int16x4x3_t %tmp2, 0 | 189 %tmp3 = extractvalue %struct.__neon_int16x4x3_t %tmp2, 0 |
190 %tmp4 = extractvalue %struct.__neon_int16x4x3_t %tmp2, 1 | 190 %tmp4 = extractvalue %struct.__neon_int16x4x3_t %tmp2, 1 |
191 %tmp5 = extractvalue %struct.__neon_int16x4x3_t %tmp2, 2 | 191 %tmp5 = extractvalue %struct.__neon_int16x4x3_t %tmp2, 2 |
192 %tmp6 = add <4 x i16> %tmp3, %tmp4 | 192 %tmp6 = add <4 x i16> %tmp3, %tmp4 |
193 %tmp7 = add <4 x i16> %tmp5, %tmp6 | 193 %tmp7 = add <4 x i16> %tmp5, %tmp6 |
194 ; CHECK: bic r0, r0, #3221225472 | 194 ; CHECK: bic r0, r0, #-1073741824 |
195 ; CHECK-NEXT: vld3.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] | 195 ; CHECK-NEXT: vld3.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] |
196 ret <4 x i16> %tmp7 | 196 ret <4 x i16> %tmp7 |
197 } | 197 } |
198 | 198 |
199 define <2 x i32> @vld3lanei32(i32* %A, <2 x i32>* %B) nounwind { | 199 define <2 x i32> @vld3lanei32(i32* %A, <2 x i32>* %B) nounwind { |
200 %tmp0 = bitcast i32* %A to i8* | 200 %tmp0 = bitcast i32* %A to i8* |
201 %tmp1 = load <2 x i32>* %B | 201 %tmp1 = load <2 x i32>, <2 x i32>* %B |
202 %tmp2 = call %struct.__neon_int32x2x3_t @llvm.arm.neon.vld3lane.v2i32(i8* %tmp
0, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1, i32 1) | 202 %tmp2 = call %struct.__neon_int32x2x3_t @llvm.arm.neon.vld3lane.v2i32(i8* %tmp
0, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1, i32 1) |
203 %tmp3 = extractvalue %struct.__neon_int32x2x3_t %tmp2, 0 | 203 %tmp3 = extractvalue %struct.__neon_int32x2x3_t %tmp2, 0 |
204 %tmp4 = extractvalue %struct.__neon_int32x2x3_t %tmp2, 1 | 204 %tmp4 = extractvalue %struct.__neon_int32x2x3_t %tmp2, 1 |
205 %tmp5 = extractvalue %struct.__neon_int32x2x3_t %tmp2, 2 | 205 %tmp5 = extractvalue %struct.__neon_int32x2x3_t %tmp2, 2 |
206 %tmp6 = add <2 x i32> %tmp3, %tmp4 | 206 %tmp6 = add <2 x i32> %tmp3, %tmp4 |
207 %tmp7 = add <2 x i32> %tmp5, %tmp6 | 207 %tmp7 = add <2 x i32> %tmp5, %tmp6 |
208 ; CHECK: bic r0, r0, #3221225472 | 208 ; CHECK: bic r0, r0, #-1073741824 |
209 ; CHECK-NEXT: vld3.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] | 209 ; CHECK-NEXT: vld3.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] |
210 ret <2 x i32> %tmp7 | 210 ret <2 x i32> %tmp7 |
211 } | 211 } |
212 | 212 |
213 define <8 x i16> @vld3laneQi16(i16* %A, <8 x i16>* %B) nounwind { | 213 define <8 x i16> @vld3laneQi16(i16* %A, <8 x i16>* %B) nounwind { |
214 %tmp0 = bitcast i16* %A to i8* | 214 %tmp0 = bitcast i16* %A to i8* |
215 %tmp1 = load <8 x i16>* %B | 215 %tmp1 = load <8 x i16>, <8 x i16>* %B |
216 %tmp2 = call %struct.__neon_int16x8x3_t @llvm.arm.neon.vld3lane.v8i16(i8* %tmp
0, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1, i32 8) | 216 %tmp2 = call %struct.__neon_int16x8x3_t @llvm.arm.neon.vld3lane.v8i16(i8* %tmp
0, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1, i32 8) |
217 %tmp3 = extractvalue %struct.__neon_int16x8x3_t %tmp2, 0 | 217 %tmp3 = extractvalue %struct.__neon_int16x8x3_t %tmp2, 0 |
218 %tmp4 = extractvalue %struct.__neon_int16x8x3_t %tmp2, 1 | 218 %tmp4 = extractvalue %struct.__neon_int16x8x3_t %tmp2, 1 |
219 %tmp5 = extractvalue %struct.__neon_int16x8x3_t %tmp2, 2 | 219 %tmp5 = extractvalue %struct.__neon_int16x8x3_t %tmp2, 2 |
220 %tmp6 = add <8 x i16> %tmp3, %tmp4 | 220 %tmp6 = add <8 x i16> %tmp3, %tmp4 |
221 %tmp7 = add <8 x i16> %tmp5, %tmp6 | 221 %tmp7 = add <8 x i16> %tmp5, %tmp6 |
222 ; CHECK: bic r0, r0, #3221225472 | 222 ; CHECK: bic r0, r0, #-1073741824 |
223 ; CHECK-NEXT: vld3.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] | 223 ; CHECK-NEXT: vld3.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] |
224 ret <8 x i16> %tmp7 | 224 ret <8 x i16> %tmp7 |
225 } | 225 } |
226 | 226 |
227 define <4 x i32> @vld3laneQi32(i32* %A, <4 x i32>* %B) nounwind { | 227 define <4 x i32> @vld3laneQi32(i32* %A, <4 x i32>* %B) nounwind { |
228 %tmp0 = bitcast i32* %A to i8* | 228 %tmp0 = bitcast i32* %A to i8* |
229 %tmp1 = load <4 x i32>* %B | 229 %tmp1 = load <4 x i32>, <4 x i32>* %B |
230 %tmp2 = call %struct.__neon_int32x4x3_t @llvm.arm.neon.vld3lane.v4i32(i8* %tmp
0, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 3, i32 1) | 230 %tmp2 = call %struct.__neon_int32x4x3_t @llvm.arm.neon.vld3lane.v4i32(i8* %tmp
0, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 3, i32 1) |
231 %tmp3 = extractvalue %struct.__neon_int32x4x3_t %tmp2, 0 | 231 %tmp3 = extractvalue %struct.__neon_int32x4x3_t %tmp2, 0 |
232 %tmp4 = extractvalue %struct.__neon_int32x4x3_t %tmp2, 1 | 232 %tmp4 = extractvalue %struct.__neon_int32x4x3_t %tmp2, 1 |
233 %tmp5 = extractvalue %struct.__neon_int32x4x3_t %tmp2, 2 | 233 %tmp5 = extractvalue %struct.__neon_int32x4x3_t %tmp2, 2 |
234 %tmp6 = add <4 x i32> %tmp3, %tmp4 | 234 %tmp6 = add <4 x i32> %tmp3, %tmp4 |
235 %tmp7 = add <4 x i32> %tmp5, %tmp6 | 235 %tmp7 = add <4 x i32> %tmp5, %tmp6 |
236 ; CHECK: bic r0, r0, #3221225472 | 236 ; CHECK: bic r0, r0, #-1073741824 |
237 ; CHECK-NEXT: vld3.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] | 237 ; CHECK-NEXT: vld3.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}}, [r0] |
238 ret <4 x i32> %tmp7 | 238 ret <4 x i32> %tmp7 |
239 } | 239 } |
240 | 240 |
241 define <8 x i8> @vld4lanei8(i8* %A, <8 x i8>* %B) nounwind { | 241 define <8 x i8> @vld4lanei8(i8* %A, <8 x i8>* %B) nounwind { |
242 %tmp1 = load <8 x i8>* %B | 242 %tmp1 = load <8 x i8>, <8 x i8>* %B |
243 %tmp2 = call %struct.__neon_int8x8x4_t @llvm.arm.neon.vld4lane.v8i8(i8* %A, <8
x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, i32 1, i32 8) | 243 %tmp2 = call %struct.__neon_int8x8x4_t @llvm.arm.neon.vld4lane.v8i8(i8* %A, <8
x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, i32 1, i32 8) |
244 %tmp3 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 0 | 244 %tmp3 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 0 |
245 %tmp4 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 1 | 245 %tmp4 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 1 |
246 %tmp5 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 2 | 246 %tmp5 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 2 |
247 %tmp6 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 3 | 247 %tmp6 = extractvalue %struct.__neon_int8x8x4_t %tmp2, 3 |
248 %tmp7 = add <8 x i8> %tmp3, %tmp4 | 248 %tmp7 = add <8 x i8> %tmp3, %tmp4 |
249 %tmp8 = add <8 x i8> %tmp5, %tmp6 | 249 %tmp8 = add <8 x i8> %tmp5, %tmp6 |
250 %tmp9 = add <8 x i8> %tmp7, %tmp8 | 250 %tmp9 = add <8 x i8> %tmp7, %tmp8 |
251 ; CHECK: bic r0, r0, #3221225472 | 251 ; CHECK: bic r0, r0, #-1073741824 |
252 ; CHECK-NEXT: vld4.8 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[
[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:32] | 252 ; CHECK-NEXT: vld4.8 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[
[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:32] |
253 ret <8 x i8> %tmp9 | 253 ret <8 x i8> %tmp9 |
254 } | 254 } |
255 | 255 |
256 define <4 x i16> @vld4lanei16(i16* %A, <4 x i16>* %B) nounwind { | 256 define <4 x i16> @vld4lanei16(i16* %A, <4 x i16>* %B) nounwind { |
257 %tmp0 = bitcast i16* %A to i8* | 257 %tmp0 = bitcast i16* %A to i8* |
258 %tmp1 = load <4 x i16>* %B | 258 %tmp1 = load <4 x i16>, <4 x i16>* %B |
259 %tmp2 = call %struct.__neon_int16x4x4_t @llvm.arm.neon.vld4lane.v4i16(i8* %tmp
0, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i3
2 4) | 259 %tmp2 = call %struct.__neon_int16x4x4_t @llvm.arm.neon.vld4lane.v4i16(i8* %tmp
0, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1, i3
2 4) |
260 %tmp3 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 0 | 260 %tmp3 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 0 |
261 %tmp4 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 1 | 261 %tmp4 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 1 |
262 %tmp5 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 2 | 262 %tmp5 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 2 |
263 %tmp6 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 3 | 263 %tmp6 = extractvalue %struct.__neon_int16x4x4_t %tmp2, 3 |
264 %tmp7 = add <4 x i16> %tmp3, %tmp4 | 264 %tmp7 = add <4 x i16> %tmp3, %tmp4 |
265 %tmp8 = add <4 x i16> %tmp5, %tmp6 | 265 %tmp8 = add <4 x i16> %tmp5, %tmp6 |
266 %tmp9 = add <4 x i16> %tmp7, %tmp8 | 266 %tmp9 = add <4 x i16> %tmp7, %tmp8 |
267 ; CHECK: bic r0, r0, #3221225472 | 267 ; CHECK: bic r0, r0, #-1073741824 |
268 ; CHECK-NEXT: vld4.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0] | 268 ; CHECK-NEXT: vld4.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0] |
269 ret <4 x i16> %tmp9 | 269 ret <4 x i16> %tmp9 |
270 } | 270 } |
271 | 271 |
272 define <2 x i32> @vld4lanei32(i32* %A, <2 x i32>* %B) nounwind { | 272 define <2 x i32> @vld4lanei32(i32* %A, <2 x i32>* %B) nounwind { |
273 %tmp0 = bitcast i32* %A to i8* | 273 %tmp0 = bitcast i32* %A to i8* |
274 %tmp1 = load <2 x i32>* %B | 274 %tmp1 = load <2 x i32>, <2 x i32>* %B |
275 %tmp2 = call %struct.__neon_int32x2x4_t @llvm.arm.neon.vld4lane.v2i32(i8* %tmp
0, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1, i3
2 8) | 275 %tmp2 = call %struct.__neon_int32x2x4_t @llvm.arm.neon.vld4lane.v2i32(i8* %tmp
0, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1, i3
2 8) |
276 %tmp3 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 0 | 276 %tmp3 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 0 |
277 %tmp4 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 1 | 277 %tmp4 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 1 |
278 %tmp5 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 2 | 278 %tmp5 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 2 |
279 %tmp6 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 3 | 279 %tmp6 = extractvalue %struct.__neon_int32x2x4_t %tmp2, 3 |
280 %tmp7 = add <2 x i32> %tmp3, %tmp4 | 280 %tmp7 = add <2 x i32> %tmp3, %tmp4 |
281 %tmp8 = add <2 x i32> %tmp5, %tmp6 | 281 %tmp8 = add <2 x i32> %tmp5, %tmp6 |
282 %tmp9 = add <2 x i32> %tmp7, %tmp8 | 282 %tmp9 = add <2 x i32> %tmp7, %tmp8 |
283 ; CHECK: bic r0, r0, #3221225472 | 283 ; CHECK: bic r0, r0, #-1073741824 |
284 ; CHECK-NEXT: vld4.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:64] | 284 ; CHECK-NEXT: vld4.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:64] |
285 ret <2 x i32> %tmp9 | 285 ret <2 x i32> %tmp9 |
286 } | 286 } |
287 | 287 |
288 define <8 x i16> @vld4laneQi16(i16* %A, <8 x i16>* %B) nounwind { | 288 define <8 x i16> @vld4laneQi16(i16* %A, <8 x i16>* %B) nounwind { |
289 %tmp0 = bitcast i16* %A to i8* | 289 %tmp0 = bitcast i16* %A to i8* |
290 %tmp1 = load <8 x i16>* %B | 290 %tmp1 = load <8 x i16>, <8 x i16>* %B |
291 %tmp2 = call %struct.__neon_int16x8x4_t @llvm.arm.neon.vld4lane.v8i16(i8* %tmp
0, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1, i3
2 16) | 291 %tmp2 = call %struct.__neon_int16x8x4_t @llvm.arm.neon.vld4lane.v8i16(i8* %tmp
0, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1, i3
2 16) |
292 %tmp3 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 0 | 292 %tmp3 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 0 |
293 %tmp4 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 1 | 293 %tmp4 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 1 |
294 %tmp5 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 2 | 294 %tmp5 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 2 |
295 %tmp6 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 3 | 295 %tmp6 = extractvalue %struct.__neon_int16x8x4_t %tmp2, 3 |
296 %tmp7 = add <8 x i16> %tmp3, %tmp4 | 296 %tmp7 = add <8 x i16> %tmp3, %tmp4 |
297 %tmp8 = add <8 x i16> %tmp5, %tmp6 | 297 %tmp8 = add <8 x i16> %tmp5, %tmp6 |
298 %tmp9 = add <8 x i16> %tmp7, %tmp8 | 298 %tmp9 = add <8 x i16> %tmp7, %tmp8 |
299 ; CHECK: bic r0, r0, #3221225472 | 299 ; CHECK: bic r0, r0, #-1073741824 |
300 ; CHECK-NEXT: vld4.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:64] | 300 ; CHECK-NEXT: vld4.16 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0:64] |
301 ret <8 x i16> %tmp9 | 301 ret <8 x i16> %tmp9 |
302 } | 302 } |
303 | 303 |
304 define <4 x i32> @vld4laneQi32(i32* %A, <4 x i32>* %B) nounwind { | 304 define <4 x i32> @vld4laneQi32(i32* %A, <4 x i32>* %B) nounwind { |
305 %tmp0 = bitcast i32* %A to i8* | 305 %tmp0 = bitcast i32* %A to i8* |
306 %tmp1 = load <4 x i32>* %B | 306 %tmp1 = load <4 x i32>, <4 x i32>* %B |
307 %tmp2 = call %struct.__neon_int32x4x4_t @llvm.arm.neon.vld4lane.v4i32(i8* %tmp
0, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 2, i3
2 1) | 307 %tmp2 = call %struct.__neon_int32x4x4_t @llvm.arm.neon.vld4lane.v4i32(i8* %tmp
0, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 2, i3
2 1) |
308 %tmp3 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 0 | 308 %tmp3 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 0 |
309 %tmp4 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 1 | 309 %tmp4 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 1 |
310 %tmp5 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 2 | 310 %tmp5 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 2 |
311 %tmp6 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 3 | 311 %tmp6 = extractvalue %struct.__neon_int32x4x4_t %tmp2, 3 |
312 %tmp7 = add <4 x i32> %tmp3, %tmp4 | 312 %tmp7 = add <4 x i32> %tmp3, %tmp4 |
313 %tmp8 = add <4 x i32> %tmp5, %tmp6 | 313 %tmp8 = add <4 x i32> %tmp5, %tmp6 |
314 %tmp9 = add <4 x i32> %tmp7, %tmp8 | 314 %tmp9 = add <4 x i32> %tmp7, %tmp8 |
315 ; CHECK: bic r0, r0, #3221225472 | 315 ; CHECK: bic r0, r0, #-1073741824 |
316 ; CHECK-NEXT: vld4.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0] | 316 ; CHECK-NEXT: vld4.32 {{{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}, {{d[0-9]+\
[[0-9]\]}}, {{d[0-9]+\[[0-9]\]}}}, [r0] |
317 ret <4 x i32> %tmp9 | 317 ret <4 x i32> %tmp9 |
318 } | 318 } |
319 | 319 |
OLD | NEW |