Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: tests_lit/llvm2ice_tests/vector-cast.ll

Issue 2468133002: [SubZero] Fix code generation for vector type (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/llvm2ice_tests/vector-arg.ll ('k') | tests_lit/llvm2ice_tests/vector-icmp.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; This file tests casting / conversion operations that apply to vector types. 1 ; This file tests casting / conversion operations that apply to vector types.
2 ; bitcast operations are in vector-bitcast.ll. 2 ; bitcast operations are in vector-bitcast.ll.
3 3
4 ; RUN: %p2i -i %s --target=x8632 --filetype=obj --disassemble --args -O2 \ 4 ; RUN: %p2i -i %s --target=x8632 --filetype=obj --disassemble --args -O2 \
5 ; RUN: | FileCheck %s --check-prefix=X8632 --check-prefix=CHECK 5 ; RUN: | FileCheck %s --check-prefix=X8632 --check-prefix=CHECK
6 ; RUN: %p2i -i %s --target=x8632 --filetype=obj --disassemble --args -Om1 \ 6 ; RUN: %p2i -i %s --target=x8632 --filetype=obj --disassemble --args -Om1 \
7 ; RUN: | FileCheck %s --check-prefix=X8632 --check-prefix=CHECK 7 ; RUN: | FileCheck %s --check-prefix=X8632 --check-prefix=CHECK
8 8
9 ; RUN: %p2i -i %s --target=arm32 --filetype=obj --disassemble --args -O2 \ 9 ; RUN: %p2i -i %s --target=arm32 --filetype=obj --disassemble --args -O2 \
10 ; RUN: | FileCheck %s --check-prefix=ARM32 --check-prefix=CHECK 10 ; RUN: | FileCheck %s --check-prefix=ARM32 --check-prefix=CHECK
(...skipping 15 matching lines...) Expand all
26 26
27 ; CHECK-LABEL: test_sext_v16i1_to_v16i8 27 ; CHECK-LABEL: test_sext_v16i1_to_v16i8
28 ; X8632: pxor 28 ; X8632: pxor
29 ; X8632: pcmpeqb 29 ; X8632: pcmpeqb
30 ; X8632: psubb 30 ; X8632: psubb
31 ; X8632: pand 31 ; X8632: pand
32 ; X8632: pxor 32 ; X8632: pxor
33 ; X8632: pcmpgtb 33 ; X8632: pcmpgtb
34 ; ARM32: vshl.s8 34 ; ARM32: vshl.s8
35 ; ARM32-NEXT: vshr.s8 35 ; ARM32-NEXT: vshr.s8
36 ; MIPS32: » andi» t2,a0,0xff 36 ; MIPS32: » move» t2,a0
37 ; MIPS32: » andi» t2,t2,0xff
37 ; MIPS32: andi t2,t2,0x1 38 ; MIPS32: andi t2,t2,0x1
38 ; MIPS32: sll t2,t2,0x1f 39 ; MIPS32: sll t2,t2,0x1f
39 ; MIPS32: sra t2,t2,0x1f 40 ; MIPS32: sra t2,t2,0x1f
40 ; MIPS32: andi t2,t2,0xff 41 ; MIPS32: andi t2,t2,0xff
41 ; MIPS32: srl v0,v0,0x8 42 ; MIPS32: srl v0,v0,0x8
42 ; MIPS32: sll v0,v0,0x8 43 ; MIPS32: sll v0,v0,0x8
43 ; MIPS32: or t2,t2,v0 44 ; MIPS32: or t2,t2,v0
44 ; MIPS32: » srl» v0,a0,0x8 45 ; MIPS32: » move» v0,a0
46 ; MIPS32: » srl» v0,v0,0x8
45 ; MIPS32: andi v0,v0,0xff 47 ; MIPS32: andi v0,v0,0xff
46 ; MIPS32: andi v0,v0,0x1 48 ; MIPS32: andi v0,v0,0x1
47 ; MIPS32: sll v0,v0,0x1f 49 ; MIPS32: sll v0,v0,0x1f
48 ; MIPS32: sra v0,v0,0x1f 50 ; MIPS32: sra v0,v0,0x1f
49 ; MIPS32: andi v0,v0,0xff 51 ; MIPS32: andi v0,v0,0xff
50 ; MIPS32: sll v0,v0,0x8 52 ; MIPS32: sll v0,v0,0x8
51 ; MIPS32: lui t3,0xffff 53 ; MIPS32: lui t3,0xffff
52 ; MIPS32: ori t3,t3,0xff 54 ; MIPS32: ori t3,t3,0xff
53 ; MIPS32: and t2,t2,t3 55 ; MIPS32: and t2,t2,t3
54 ; MIPS32: or v0,v0,t2 56 ; MIPS32: or v0,v0,t2
55 ; MIPS32: » srl» t2,a0,0x10 57 ; MIPS32: » move» t2,a0
58 ; MIPS32: » srl» t2,t2,0x10
56 ; MIPS32: andi t2,t2,0xff 59 ; MIPS32: andi t2,t2,0xff
57 ; MIPS32: andi t2,t2,0x1 60 ; MIPS32: andi t2,t2,0x1
58 ; MIPS32: sll t2,t2,0x1f 61 ; MIPS32: sll t2,t2,0x1f
59 ; MIPS32: sra t2,t2,0x1f 62 ; MIPS32: sra t2,t2,0x1f
60 ; MIPS32: andi t2,t2,0xff 63 ; MIPS32: andi t2,t2,0xff
61 ; MIPS32: sll t2,t2,0x10 64 ; MIPS32: sll t2,t2,0x10
62 ; MIPS32: lui t3,0xff00 65 ; MIPS32: lui t3,0xff00
63 ; MIPS32: ori t3,t3,0xffff 66 ; MIPS32: ori t3,t3,0xffff
64 ; MIPS32: and v0,v0,t3 67 ; MIPS32: and v0,v0,t3
65 ; MIPS32: or t2,t2,v0 68 ; MIPS32: or t2,t2,v0
66 ; MIPS32: srl a0,a0,0x18 69 ; MIPS32: srl a0,a0,0x18
67 ; MIPS32: andi a0,a0,0x1 70 ; MIPS32: andi a0,a0,0x1
68 ; MIPS32: sll a0,a0,0x1f 71 ; MIPS32: sll a0,a0,0x1f
69 ; MIPS32: sra a0,a0,0x1f 72 ; MIPS32: sra a0,a0,0x1f
70 ; MIPS32: srl a0,a0,0x18 73 ; MIPS32: srl a0,a0,0x18
71 ; MIPS32: sll t2,t2,0x8 74 ; MIPS32: sll t2,t2,0x8
72 ; MIPS32: srl t2,t2,0x8 75 ; MIPS32: srl t2,t2,0x8
73 ; MIPS32: or a0,a0,t2 76 ; MIPS32: or a0,a0,t2
74 ; MIPS32: » andi» v0,a1,0xff 77 ; MIPS32: » move» v0,a1
78 ; MIPS32: » andi» v0,v0,0xff
75 ; MIPS32: andi v0,v0,0x1 79 ; MIPS32: andi v0,v0,0x1
76 ; MIPS32: sll v0,v0,0x1f 80 ; MIPS32: sll v0,v0,0x1f
77 ; MIPS32: sra v0,v0,0x1f 81 ; MIPS32: sra v0,v0,0x1f
78 ; MIPS32: andi v0,v0,0xff 82 ; MIPS32: andi v0,v0,0xff
79 ; MIPS32: srl v1,v1,0x8 83 ; MIPS32: srl v1,v1,0x8
80 ; MIPS32: sll v1,v1,0x8 84 ; MIPS32: sll v1,v1,0x8
81 ; MIPS32: or v0,v0,v1 85 ; MIPS32: or v0,v0,v1
82 ; MIPS32: » srl» v1,a1,0x8 86 ; MIPS32: » move» v1,a1
87 ; MIPS32: » srl» v1,v1,0x8
83 ; MIPS32: andi v1,v1,0xff 88 ; MIPS32: andi v1,v1,0xff
84 ; MIPS32: andi v1,v1,0x1 89 ; MIPS32: andi v1,v1,0x1
85 ; MIPS32: sll v1,v1,0x1f 90 ; MIPS32: sll v1,v1,0x1f
86 ; MIPS32: sra v1,v1,0x1f 91 ; MIPS32: sra v1,v1,0x1f
87 ; MIPS32: andi v1,v1,0xff 92 ; MIPS32: andi v1,v1,0xff
88 ; MIPS32: sll v1,v1,0x8 93 ; MIPS32: sll v1,v1,0x8
89 ; MIPS32: lui t2,0xffff 94 ; MIPS32: lui t2,0xffff
90 ; MIPS32: ori t2,t2,0xff 95 ; MIPS32: ori t2,t2,0xff
91 ; MIPS32: and v0,v0,t2 96 ; MIPS32: and v0,v0,t2
92 ; MIPS32: or v1,v1,v0 97 ; MIPS32: or v1,v1,v0
93 ; MIPS32: » srl» v0,a1,0x10 98 ; MIPS32: » move» v0,a1
99 ; MIPS32: » srl» v0,v0,0x10
94 ; MIPS32: andi v0,v0,0xff 100 ; MIPS32: andi v0,v0,0xff
95 ; MIPS32: andi v0,v0,0x1 101 ; MIPS32: andi v0,v0,0x1
96 ; MIPS32: sll v0,v0,0x1f 102 ; MIPS32: sll v0,v0,0x1f
97 ; MIPS32: sra v0,v0,0x1f 103 ; MIPS32: sra v0,v0,0x1f
98 ; MIPS32: andi v0,v0,0xff 104 ; MIPS32: andi v0,v0,0xff
99 ; MIPS32: sll v0,v0,0x10 105 ; MIPS32: sll v0,v0,0x10
100 ; MIPS32: lui t2,0xff00 106 ; MIPS32: lui t2,0xff00
101 ; MIPS32: ori t2,t2,0xffff 107 ; MIPS32: ori t2,t2,0xffff
102 ; MIPS32: and v1,v1,t2 108 ; MIPS32: and v1,v1,t2
103 ; MIPS32: or v0,v0,v1 109 ; MIPS32: or v0,v0,v1
104 ; MIPS32: srl a1,a1,0x18 110 ; MIPS32: srl a1,a1,0x18
105 ; MIPS32: andi a1,a1,0x1 111 ; MIPS32: andi a1,a1,0x1
106 ; MIPS32: sll a1,a1,0x1f 112 ; MIPS32: sll a1,a1,0x1f
107 ; MIPS32: sra a1,a1,0x1f 113 ; MIPS32: sra a1,a1,0x1f
108 ; MIPS32: srl a1,a1,0x18 114 ; MIPS32: srl a1,a1,0x18
109 ; MIPS32: sll v0,v0,0x8 115 ; MIPS32: sll v0,v0,0x8
110 ; MIPS32: srl v0,v0,0x8 116 ; MIPS32: srl v0,v0,0x8
111 ; MIPS32: or a1,a1,v0 117 ; MIPS32: or a1,a1,v0
112 ; MIPS32: » andi» v0,a2,0xff 118 ; MIPS32: » move» v0,a2
119 ; MIPS32: » andi» v0,v0,0xff
113 ; MIPS32: andi v0,v0,0x1 120 ; MIPS32: andi v0,v0,0x1
114 ; MIPS32: sll v0,v0,0x1f 121 ; MIPS32: sll v0,v0,0x1f
115 ; MIPS32: sra v0,v0,0x1f 122 ; MIPS32: sra v0,v0,0x1f
116 ; MIPS32: andi v0,v0,0xff 123 ; MIPS32: andi v0,v0,0xff
117 ; MIPS32: srl t0,t0,0x8 124 ; MIPS32: srl t0,t0,0x8
118 ; MIPS32: sll t0,t0,0x8 125 ; MIPS32: sll t0,t0,0x8
119 ; MIPS32: or v0,v0,t0 126 ; MIPS32: or v0,v0,t0
120 ; MIPS32: » srl» v1,a2,0x8 127 ; MIPS32: » move» v1,a2
128 ; MIPS32: » srl» v1,v1,0x8
121 ; MIPS32: andi v1,v1,0xff 129 ; MIPS32: andi v1,v1,0xff
122 ; MIPS32: andi v1,v1,0x1 130 ; MIPS32: andi v1,v1,0x1
123 ; MIPS32: sll v1,v1,0x1f 131 ; MIPS32: sll v1,v1,0x1f
124 ; MIPS32: sra v1,v1,0x1f 132 ; MIPS32: sra v1,v1,0x1f
125 ; MIPS32: andi v1,v1,0xff 133 ; MIPS32: andi v1,v1,0xff
126 ; MIPS32: sll v1,v1,0x8 134 ; MIPS32: sll v1,v1,0x8
127 ; MIPS32: lui t0,0xffff 135 ; MIPS32: lui t0,0xffff
128 ; MIPS32: ori t0,t0,0xff 136 ; MIPS32: ori t0,t0,0xff
129 ; MIPS32: and v0,v0,t0 137 ; MIPS32: and v0,v0,t0
130 ; MIPS32: or v1,v1,v0 138 ; MIPS32: or v1,v1,v0
131 ; MIPS32: » srl» v0,a2,0x10 139 ; MIPS32: » move» v0,a2
140 ; MIPS32: » srl» v0,v0,0x10
132 ; MIPS32: andi v0,v0,0xff 141 ; MIPS32: andi v0,v0,0xff
133 ; MIPS32: andi v0,v0,0x1 142 ; MIPS32: andi v0,v0,0x1
134 ; MIPS32: sll v0,v0,0x1f 143 ; MIPS32: sll v0,v0,0x1f
135 ; MIPS32: sra v0,v0,0x1f 144 ; MIPS32: sra v0,v0,0x1f
136 ; MIPS32: andi v0,v0,0xff 145 ; MIPS32: andi v0,v0,0xff
137 ; MIPS32: sll v0,v0,0x10 146 ; MIPS32: sll v0,v0,0x10
138 ; MIPS32: lui t0,0xff00 147 ; MIPS32: lui t0,0xff00
139 ; MIPS32: ori t0,t0,0xffff 148 ; MIPS32: ori t0,t0,0xffff
140 ; MIPS32: and v1,v1,t0 149 ; MIPS32: and v1,v1,t0
141 ; MIPS32: or v0,v0,v1 150 ; MIPS32: or v0,v0,v1
142 ; MIPS32: srl a2,a2,0x18 151 ; MIPS32: srl a2,a2,0x18
143 ; MIPS32: andi a2,a2,0x1 152 ; MIPS32: andi a2,a2,0x1
144 ; MIPS32: sll a2,a2,0x1f 153 ; MIPS32: sll a2,a2,0x1f
145 ; MIPS32: sra a2,a2,0x1f 154 ; MIPS32: sra a2,a2,0x1f
146 ; MIPS32: srl a2,a2,0x18 155 ; MIPS32: srl a2,a2,0x18
147 ; MIPS32: sll v0,v0,0x8 156 ; MIPS32: sll v0,v0,0x8
148 ; MIPS32: srl v0,v0,0x8 157 ; MIPS32: srl v0,v0,0x8
149 ; MIPS32: or a2,a2,v0 158 ; MIPS32: or a2,a2,v0
150 ; MIPS32: » andi» v0,a3,0xff 159 ; MIPS32: » move» v0,a3
160 ; MIPS32: » andi» v0,v0,0xff
151 ; MIPS32: andi v0,v0,0x1 161 ; MIPS32: andi v0,v0,0x1
152 ; MIPS32: sll v0,v0,0x1f 162 ; MIPS32: sll v0,v0,0x1f
153 ; MIPS32: sra v0,v0,0x1f 163 ; MIPS32: sra v0,v0,0x1f
154 ; MIPS32: andi v0,v0,0xff 164 ; MIPS32: andi v0,v0,0xff
155 ; MIPS32: srl t1,t1,0x8 165 ; MIPS32: srl t1,t1,0x8
156 ; MIPS32: sll t1,t1,0x8 166 ; MIPS32: sll t1,t1,0x8
157 ; MIPS32: or v0,v0,t1 167 ; MIPS32: or v0,v0,t1
158 ; MIPS32: » srl» v1,a3,0x8 168 ; MIPS32: » move» v1,a3
169 ; MIPS32: » srl» v1,v1,0x8
159 ; MIPS32: andi v1,v1,0xff 170 ; MIPS32: andi v1,v1,0xff
160 ; MIPS32: andi v1,v1,0x1 171 ; MIPS32: andi v1,v1,0x1
161 ; MIPS32: sll v1,v1,0x1f 172 ; MIPS32: sll v1,v1,0x1f
162 ; MIPS32: sra v1,v1,0x1f 173 ; MIPS32: sra v1,v1,0x1f
163 ; MIPS32: andi v1,v1,0xff 174 ; MIPS32: andi v1,v1,0xff
164 ; MIPS32: sll v1,v1,0x8 175 ; MIPS32: sll v1,v1,0x8
165 ; MIPS32: lui t0,0xffff 176 ; MIPS32: lui t0,0xffff
166 ; MIPS32: ori t0,t0,0xff 177 ; MIPS32: ori t0,t0,0xff
167 ; MIPS32: and v0,v0,t0 178 ; MIPS32: and v0,v0,t0
168 ; MIPS32: or v1,v1,v0 179 ; MIPS32: or v1,v1,v0
169 ; MIPS32: » srl» v0,a3,0x10 180 ; MIPS32: » move» v0,a3
181 ; MIPS32: » srl» v0,v0,0x10
170 ; MIPS32: andi v0,v0,0xff 182 ; MIPS32: andi v0,v0,0xff
171 ; MIPS32: andi v0,v0,0x1 183 ; MIPS32: andi v0,v0,0x1
172 ; MIPS32: sll v0,v0,0x1f 184 ; MIPS32: sll v0,v0,0x1f
173 ; MIPS32: sra v0,v0,0x1f 185 ; MIPS32: sra v0,v0,0x1f
174 ; MIPS32: andi v0,v0,0xff 186 ; MIPS32: andi v0,v0,0xff
175 ; MIPS32: sll v0,v0,0x10 187 ; MIPS32: sll v0,v0,0x10
176 ; MIPS32: lui t0,0xff00 188 ; MIPS32: lui t0,0xff00
177 ; MIPS32: ori t0,t0,0xffff 189 ; MIPS32: ori t0,t0,0xffff
178 ; MIPS32: and v1,v1,t0 190 ; MIPS32: and v1,v1,t0
179 ; MIPS32: or v0,v0,v1 191 ; MIPS32: or v0,v0,v1
(...skipping 14 matching lines...) Expand all
194 206
195 ; CHECK-LABEL: test_sext_v8i1_to_v8i16 207 ; CHECK-LABEL: test_sext_v8i1_to_v8i16
196 ; X8632: psllw {{.*}},0xf 208 ; X8632: psllw {{.*}},0xf
197 ; X8632: psraw {{.*}},0xf 209 ; X8632: psraw {{.*}},0xf
198 ; ARM32: vshl.s16 210 ; ARM32: vshl.s16
199 ; ARM32-NEXT: vshr.s16 211 ; ARM32-NEXT: vshr.s16
200 ; MIPS32: move v0,zero 212 ; MIPS32: move v0,zero
201 ; MIPS32: move v1,zero 213 ; MIPS32: move v1,zero
202 ; MIPS32: move t0,zero 214 ; MIPS32: move t0,zero
203 ; MIPS32: move t1,zero 215 ; MIPS32: move t1,zero
204 ; MIPS32: » andi» t2,a0,0xffff 216 ; MIPS32: » move» t2,a0
217 ; MIPS32: » andi» t2,t2,0xffff
205 ; MIPS32: andi t2,t2,0x1 218 ; MIPS32: andi t2,t2,0x1
206 ; MIPS32: sll t2,t2,0x1f 219 ; MIPS32: sll t2,t2,0x1f
207 ; MIPS32: sra t2,t2,0x1f 220 ; MIPS32: sra t2,t2,0x1f
208 ; MIPS32: andi t2,t2,0xffff 221 ; MIPS32: andi t2,t2,0xffff
209 ; MIPS32: srl v0,v0,0x10 222 ; MIPS32: srl v0,v0,0x10
210 ; MIPS32: sll v0,v0,0x10 223 ; MIPS32: sll v0,v0,0x10
211 ; MIPS32: or t2,t2,v0 224 ; MIPS32: or t2,t2,v0
212 ; MIPS32: srl a0,a0,0x10 225 ; MIPS32: srl a0,a0,0x10
213 ; MIPS32: andi a0,a0,0x1 226 ; MIPS32: andi a0,a0,0x1
214 ; MIPS32: sll a0,a0,0x1f 227 ; MIPS32: sll a0,a0,0x1f
215 ; MIPS32: sra a0,a0,0x1f 228 ; MIPS32: sra a0,a0,0x1f
216 ; MIPS32: sll a0,a0,0x10 229 ; MIPS32: sll a0,a0,0x10
217 ; MIPS32: sll t2,t2,0x10 230 ; MIPS32: sll t2,t2,0x10
218 ; MIPS32: srl t2,t2,0x10 231 ; MIPS32: srl t2,t2,0x10
219 ; MIPS32: or a0,a0,t2 232 ; MIPS32: or a0,a0,t2
220 ; MIPS32: » andi» v0,a1,0xffff 233 ; MIPS32: » move» v0,a1
234 ; MIPS32: » andi» v0,v0,0xffff
221 ; MIPS32: andi v0,v0,0x1 235 ; MIPS32: andi v0,v0,0x1
222 ; MIPS32: sll v0,v0,0x1f 236 ; MIPS32: sll v0,v0,0x1f
223 ; MIPS32: sra v0,v0,0x1f 237 ; MIPS32: sra v0,v0,0x1f
224 ; MIPS32: andi v0,v0,0xffff 238 ; MIPS32: andi v0,v0,0xffff
225 ; MIPS32: srl v1,v1,0x10 239 ; MIPS32: srl v1,v1,0x10
226 ; MIPS32: sll v1,v1,0x10 240 ; MIPS32: sll v1,v1,0x10
227 ; MIPS32: or v0,v0,v1 241 ; MIPS32: or v0,v0,v1
228 ; MIPS32: srl a1,a1,0x10 242 ; MIPS32: srl a1,a1,0x10
229 ; MIPS32: andi a1,a1,0x1 243 ; MIPS32: andi a1,a1,0x1
230 ; MIPS32: sll a1,a1,0x1f 244 ; MIPS32: sll a1,a1,0x1f
231 ; MIPS32: sra a1,a1,0x1f 245 ; MIPS32: sra a1,a1,0x1f
232 ; MIPS32: sll a1,a1,0x10 246 ; MIPS32: sll a1,a1,0x10
233 ; MIPS32: sll v0,v0,0x10 247 ; MIPS32: sll v0,v0,0x10
234 ; MIPS32: srl v0,v0,0x10 248 ; MIPS32: srl v0,v0,0x10
235 ; MIPS32: or a1,a1,v0 249 ; MIPS32: or a1,a1,v0
236 ; MIPS32: » andi» v0,a2,0xffff 250 ; MIPS32: » move» v0,a2
251 ; MIPS32: » andi» v0,v0,0xffff
237 ; MIPS32: andi v0,v0,0x1 252 ; MIPS32: andi v0,v0,0x1
238 ; MIPS32: sll v0,v0,0x1f 253 ; MIPS32: sll v0,v0,0x1f
239 ; MIPS32: sra v0,v0,0x1f 254 ; MIPS32: sra v0,v0,0x1f
240 ; MIPS32: andi v0,v0,0xffff 255 ; MIPS32: andi v0,v0,0xffff
241 ; MIPS32: srl t0,t0,0x10 256 ; MIPS32: srl t0,t0,0x10
242 ; MIPS32: sll t0,t0,0x10 257 ; MIPS32: sll t0,t0,0x10
243 ; MIPS32: or v0,v0,t0 258 ; MIPS32: or v0,v0,t0
244 ; MIPS32: srl a2,a2,0x10 259 ; MIPS32: srl a2,a2,0x10
245 ; MIPS32: andi a2,a2,0x1 260 ; MIPS32: andi a2,a2,0x1
246 ; MIPS32: sll a2,a2,0x1f 261 ; MIPS32: sll a2,a2,0x1f
247 ; MIPS32: sra a2,a2,0x1f 262 ; MIPS32: sra a2,a2,0x1f
248 ; MIPS32: sll a2,a2,0x10 263 ; MIPS32: sll a2,a2,0x10
249 ; MIPS32: sll v0,v0,0x10 264 ; MIPS32: sll v0,v0,0x10
250 ; MIPS32: srl v0,v0,0x10 265 ; MIPS32: srl v0,v0,0x10
251 ; MIPS32: or a2,a2,v0 266 ; MIPS32: or a2,a2,v0
252 ; MIPS32: » andi» v0,a3,0xffff 267 ; MIPS32: » move» v0,a3
268 ; MIPS32: » andi» v0,v0,0xffff
253 ; MIPS32: andi v0,v0,0x1 269 ; MIPS32: andi v0,v0,0x1
254 ; MIPS32: sll v0,v0,0x1f 270 ; MIPS32: sll v0,v0,0x1f
255 ; MIPS32: sra v0,v0,0x1f 271 ; MIPS32: sra v0,v0,0x1f
256 ; MIPS32: andi v0,v0,0xffff 272 ; MIPS32: andi v0,v0,0xffff
257 ; MIPS32: srl t1,t1,0x10 273 ; MIPS32: srl t1,t1,0x10
258 ; MIPS32: sll t1,t1,0x10 274 ; MIPS32: sll t1,t1,0x10
259 ; MIPS32: or v0,v0,t1 275 ; MIPS32: or v0,v0,t1
260 ; MIPS32: srl a3,a3,0x10 276 ; MIPS32: srl a3,a3,0x10
261 ; MIPS32: andi a3,a3,0x1 277 ; MIPS32: andi a3,a3,0x1
262 ; MIPS32: sll a3,a3,0x1f 278 ; MIPS32: sll a3,a3,0x1f
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 %res = zext <16 x i1> %arg to <16 x i8> 314 %res = zext <16 x i1> %arg to <16 x i8>
299 ret <16 x i8> %res 315 ret <16 x i8> %res
300 316
301 ; CHECK-LABEL: test_zext_v16i1_to_v16i8 317 ; CHECK-LABEL: test_zext_v16i1_to_v16i8
302 ; X8632: pxor 318 ; X8632: pxor
303 ; X8632: pcmpeqb 319 ; X8632: pcmpeqb
304 ; X8632: psubb 320 ; X8632: psubb
305 ; X8632: pand 321 ; X8632: pand
306 ; ARM32: vmov.i8 [[S:.*]], #1 322 ; ARM32: vmov.i8 [[S:.*]], #1
307 ; ARM32-NEXT: vand {{.*}}, [[S]] 323 ; ARM32-NEXT: vand {{.*}}, [[S]]
308 ; MIPS32: » andi» t2,a0,0xff 324 ; MIPS32: » move» t2,a0
325 ; MIPS32: » andi» t2,t2,0xff
309 ; MIPS32: andi t2,t2,0x1 326 ; MIPS32: andi t2,t2,0x1
310 ; MIPS32: andi t2,t2,0x1 327 ; MIPS32: andi t2,t2,0x1
311 ; MIPS32: andi t2,t2,0xff 328 ; MIPS32: andi t2,t2,0xff
312 ; MIPS32: srl v0,v0,0x8 329 ; MIPS32: srl v0,v0,0x8
313 ; MIPS32: sll v0,v0,0x8 330 ; MIPS32: sll v0,v0,0x8
314 ; MIPS32: or t2,t2,v0 331 ; MIPS32: or t2,t2,v0
315 ; MIPS32: » srl» v0,a0,0x8 332 ; MIPS32: » move» v0,a0
333 ; MIPS32: » srl» v0,v0,0x8
316 ; MIPS32: andi v0,v0,0xff 334 ; MIPS32: andi v0,v0,0xff
317 ; MIPS32: andi v0,v0,0x1 335 ; MIPS32: andi v0,v0,0x1
318 ; MIPS32: andi v0,v0,0x1 336 ; MIPS32: andi v0,v0,0x1
319 ; MIPS32: andi v0,v0,0xff 337 ; MIPS32: andi v0,v0,0xff
320 ; MIPS32: sll v0,v0,0x8 338 ; MIPS32: sll v0,v0,0x8
321 ; MIPS32: lui t3,0xffff 339 ; MIPS32: lui t3,0xffff
322 ; MIPS32: ori t3,t3,0xff 340 ; MIPS32: ori t3,t3,0xff
323 ; MIPS32: and t2,t2,t3 341 ; MIPS32: and t2,t2,t3
324 ; MIPS32: or v0,v0,t2 342 ; MIPS32: or v0,v0,t2
325 ; MIPS32: » srl» t2,a0,0x10 343 ; MIPS32: » move» t2,a0
344 ; MIPS32: » srl» t2,t2,0x10
326 ; MIPS32: andi t2,t2,0xff 345 ; MIPS32: andi t2,t2,0xff
327 ; MIPS32: andi t2,t2,0x1 346 ; MIPS32: andi t2,t2,0x1
328 ; MIPS32: andi t2,t2,0x1 347 ; MIPS32: andi t2,t2,0x1
329 ; MIPS32: andi t2,t2,0xff 348 ; MIPS32: andi t2,t2,0xff
330 ; MIPS32: sll t2,t2,0x10 349 ; MIPS32: sll t2,t2,0x10
331 ; MIPS32: lui t3,0xff00 350 ; MIPS32: lui t3,0xff00
332 ; MIPS32: ori t3,t3,0xffff 351 ; MIPS32: ori t3,t3,0xffff
333 ; MIPS32: and v0,v0,t3 352 ; MIPS32: and v0,v0,t3
334 ; MIPS32: or t2,t2,v0 353 ; MIPS32: or t2,t2,v0
335 ; MIPS32: srl a0,a0,0x18 354 ; MIPS32: srl a0,a0,0x18
336 ; MIPS32: andi a0,a0,0x1 355 ; MIPS32: andi a0,a0,0x1
337 ; MIPS32: andi a0,a0,0x1 356 ; MIPS32: andi a0,a0,0x1
338 ; MIPS32: srl a0,a0,0x18 357 ; MIPS32: srl a0,a0,0x18
339 ; MIPS32: sll t2,t2,0x8 358 ; MIPS32: sll t2,t2,0x8
340 ; MIPS32: srl t2,t2,0x8 359 ; MIPS32: srl t2,t2,0x8
341 ; MIPS32: or a0,a0,t2 360 ; MIPS32: or a0,a0,t2
342 ; MIPS32: » andi» v0,a1,0xff 361 ; MIPS32: » move» v0,a1
362 ; MIPS32: » andi» v0,v0,0xff
343 ; MIPS32: andi v0,v0,0x1 363 ; MIPS32: andi v0,v0,0x1
344 ; MIPS32: andi v0,v0,0x1 364 ; MIPS32: andi v0,v0,0x1
345 ; MIPS32: andi v0,v0,0xff 365 ; MIPS32: andi v0,v0,0xff
346 ; MIPS32: srl v1,v1,0x8 366 ; MIPS32: srl v1,v1,0x8
347 ; MIPS32: sll v1,v1,0x8 367 ; MIPS32: sll v1,v1,0x8
348 ; MIPS32: or v0,v0,v1 368 ; MIPS32: or v0,v0,v1
349 ; MIPS32: » srl» v1,a1,0x8 369 ; MIPS32: » move» v1,a1
370 ; MIPS32: » srl» v1,v1,0x8
350 ; MIPS32: andi v1,v1,0xff 371 ; MIPS32: andi v1,v1,0xff
351 ; MIPS32: andi v1,v1,0x1 372 ; MIPS32: andi v1,v1,0x1
352 ; MIPS32: andi v1,v1,0x1 373 ; MIPS32: andi v1,v1,0x1
353 ; MIPS32: andi v1,v1,0xff 374 ; MIPS32: andi v1,v1,0xff
354 ; MIPS32: sll v1,v1,0x8 375 ; MIPS32: sll v1,v1,0x8
355 ; MIPS32: lui t2,0xffff 376 ; MIPS32: lui t2,0xffff
356 ; MIPS32: ori t2,t2,0xff 377 ; MIPS32: ori t2,t2,0xff
357 ; MIPS32: and v0,v0,t2 378 ; MIPS32: and v0,v0,t2
358 ; MIPS32: or v1,v1,v0 379 ; MIPS32: or v1,v1,v0
359 ; MIPS32: » srl» v0,a1,0x10 380 ; MIPS32: » move» v0,a1
381 ; MIPS32: » srl» v0,v0,0x10
360 ; MIPS32: andi v0,v0,0xff 382 ; MIPS32: andi v0,v0,0xff
361 ; MIPS32: andi v0,v0,0x1 383 ; MIPS32: andi v0,v0,0x1
362 ; MIPS32: andi v0,v0,0x1 384 ; MIPS32: andi v0,v0,0x1
363 ; MIPS32: andi v0,v0,0xff 385 ; MIPS32: andi v0,v0,0xff
364 ; MIPS32: sll v0,v0,0x10 386 ; MIPS32: sll v0,v0,0x10
365 ; MIPS32: lui t2,0xff00 387 ; MIPS32: lui t2,0xff00
366 ; MIPS32: ori t2,t2,0xffff 388 ; MIPS32: ori t2,t2,0xffff
367 ; MIPS32: and v1,v1,t2 389 ; MIPS32: and v1,v1,t2
368 ; MIPS32: or v0,v0,v1 390 ; MIPS32: or v0,v0,v1
369 ; MIPS32: srl a1,a1,0x18 391 ; MIPS32: srl a1,a1,0x18
370 ; MIPS32: andi a1,a1,0x1 392 ; MIPS32: andi a1,a1,0x1
371 ; MIPS32: andi a1,a1,0x1 393 ; MIPS32: andi a1,a1,0x1
372 ; MIPS32: srl a1,a1,0x18 394 ; MIPS32: srl a1,a1,0x18
373 ; MIPS32: sll v0,v0,0x8 395 ; MIPS32: sll v0,v0,0x8
374 ; MIPS32: srl v0,v0,0x8 396 ; MIPS32: srl v0,v0,0x8
375 ; MIPS32: or a1,a1,v0 397 ; MIPS32: or a1,a1,v0
376 ; MIPS32: » andi» v0,a2,0xff 398 ; MIPS32: » move» v0,a2
399 ; MIPS32: » andi» v0,v0,0xff
377 ; MIPS32: andi v0,v0,0x1 400 ; MIPS32: andi v0,v0,0x1
378 ; MIPS32: andi v0,v0,0x1 401 ; MIPS32: andi v0,v0,0x1
379 ; MIPS32: andi v0,v0,0xff 402 ; MIPS32: andi v0,v0,0xff
380 ; MIPS32: srl t0,t0,0x8 403 ; MIPS32: srl t0,t0,0x8
381 ; MIPS32: sll t0,t0,0x8 404 ; MIPS32: sll t0,t0,0x8
382 ; MIPS32: or v0,v0,t0 405 ; MIPS32: or v0,v0,t0
383 ; MIPS32: » srl» v1,a2,0x8 406 ; MIPS32: » move» v1,a2
407 ; MIPS32: » srl» v1,v1,0x8
384 ; MIPS32: andi v1,v1,0xff 408 ; MIPS32: andi v1,v1,0xff
385 ; MIPS32: andi v1,v1,0x1 409 ; MIPS32: andi v1,v1,0x1
386 ; MIPS32: andi v1,v1,0x1 410 ; MIPS32: andi v1,v1,0x1
387 ; MIPS32: andi v1,v1,0xff 411 ; MIPS32: andi v1,v1,0xff
388 ; MIPS32: sll v1,v1,0x8 412 ; MIPS32: sll v1,v1,0x8
389 ; MIPS32: lui t0,0xffff 413 ; MIPS32: lui t0,0xffff
390 ; MIPS32: ori t0,t0,0xff 414 ; MIPS32: ori t0,t0,0xff
391 ; MIPS32: and v0,v0,t0 415 ; MIPS32: and v0,v0,t0
392 ; MIPS32: or v1,v1,v0 416 ; MIPS32: or v1,v1,v0
393 ; MIPS32: » srl» v0,a2,0x10 417 ; MIPS32: » move» v0,a2
418 ; MIPS32: » srl» v0,v0,0x10
394 ; MIPS32: andi v0,v0,0xff 419 ; MIPS32: andi v0,v0,0xff
395 ; MIPS32: andi v0,v0,0x1 420 ; MIPS32: andi v0,v0,0x1
396 ; MIPS32: andi v0,v0,0x1 421 ; MIPS32: andi v0,v0,0x1
397 ; MIPS32: andi v0,v0,0xff 422 ; MIPS32: andi v0,v0,0xff
398 ; MIPS32: sll v0,v0,0x10 423 ; MIPS32: sll v0,v0,0x10
399 ; MIPS32: lui t0,0xff00 424 ; MIPS32: lui t0,0xff00
400 ; MIPS32: ori t0,t0,0xffff 425 ; MIPS32: ori t0,t0,0xffff
401 ; MIPS32: and v1,v1,t0 426 ; MIPS32: and v1,v1,t0
402 ; MIPS32: or v0,v0,v1 427 ; MIPS32: or v0,v0,v1
403 ; MIPS32: srl a2,a2,0x18 428 ; MIPS32: srl a2,a2,0x18
404 ; MIPS32: andi a2,a2,0x1 429 ; MIPS32: andi a2,a2,0x1
405 ; MIPS32: andi a2,a2,0x1 430 ; MIPS32: andi a2,a2,0x1
406 ; MIPS32: srl a2,a2,0x18 431 ; MIPS32: srl a2,a2,0x18
407 ; MIPS32: sll v0,v0,0x8 432 ; MIPS32: sll v0,v0,0x8
408 ; MIPS32: srl v0,v0,0x8 433 ; MIPS32: srl v0,v0,0x8
409 ; MIPS32: or a2,a2,v0 434 ; MIPS32: or a2,a2,v0
410 ; MIPS32: » andi» v0,a3,0xff 435 ; MIPS32: » move» v0,a3
436 ; MIPS32: » andi» v0,v0,0xff
411 ; MIPS32: andi v0,v0,0x1 437 ; MIPS32: andi v0,v0,0x1
412 ; MIPS32: andi v0,v0,0x1 438 ; MIPS32: andi v0,v0,0x1
413 ; MIPS32: andi v0,v0,0xff 439 ; MIPS32: andi v0,v0,0xff
414 ; MIPS32: srl t1,t1,0x8 440 ; MIPS32: srl t1,t1,0x8
415 ; MIPS32: sll t1,t1,0x8 441 ; MIPS32: sll t1,t1,0x8
416 ; MIPS32: or v0,v0,t1 442 ; MIPS32: or v0,v0,t1
417 ; MIPS32: » srl» v1,a3,0x8 443 ; MIPS32: » move» v1,a3
444 ; MIPS32: » srl» v1,v1,0x8
418 ; MIPS32: andi v1,v1,0xff 445 ; MIPS32: andi v1,v1,0xff
419 ; MIPS32: andi v1,v1,0x1 446 ; MIPS32: andi v1,v1,0x1
420 ; MIPS32: andi v1,v1,0x1 447 ; MIPS32: andi v1,v1,0x1
421 ; MIPS32: andi v1,v1,0xff 448 ; MIPS32: andi v1,v1,0xff
422 ; MIPS32: sll v1,v1,0x8 449 ; MIPS32: sll v1,v1,0x8
423 ; MIPS32: lui t0,0xffff 450 ; MIPS32: lui t0,0xffff
424 ; MIPS32: ori t0,t0,0xff 451 ; MIPS32: ori t0,t0,0xff
425 ; MIPS32: and v0,v0,t0 452 ; MIPS32: and v0,v0,t0
426 ; MIPS32: or v1,v1,v0 453 ; MIPS32: or v1,v1,v0
427 ; MIPS32: » srl» v0,a3,0x10 454 ; MIPS32: » move» v0,a3
455 ; MIPS32: » srl» v0,v0,0x10
428 ; MIPS32: andi v0,v0,0xff 456 ; MIPS32: andi v0,v0,0xff
429 ; MIPS32: andi v0,v0,0x1 457 ; MIPS32: andi v0,v0,0x1
430 ; MIPS32: andi v0,v0,0x1 458 ; MIPS32: andi v0,v0,0x1
431 ; MIPS32: andi v0,v0,0xff 459 ; MIPS32: andi v0,v0,0xff
432 ; MIPS32: sll v0,v0,0x10 460 ; MIPS32: sll v0,v0,0x10
433 ; MIPS32: lui t0,0xff00 461 ; MIPS32: lui t0,0xff00
434 ; MIPS32: ori t0,t0,0xffff 462 ; MIPS32: ori t0,t0,0xffff
435 ; MIPS32: and v1,v1,t0 463 ; MIPS32: and v1,v1,t0
436 ; MIPS32: or v0,v0,v1 464 ; MIPS32: or v0,v0,v1
437 ; MIPS32: srl a3,a3,0x18 465 ; MIPS32: srl a3,a3,0x18
(...skipping 10 matching lines...) Expand all
448 %res = zext <8 x i1> %arg to <8 x i16> 476 %res = zext <8 x i1> %arg to <8 x i16>
449 ret <8 x i16> %res 477 ret <8 x i16> %res
450 478
451 ; CHECK-LABEL: test_zext_v8i1_to_v8i16 479 ; CHECK-LABEL: test_zext_v8i1_to_v8i16
452 ; X8632: pxor 480 ; X8632: pxor
453 ; X8632: pcmpeqw 481 ; X8632: pcmpeqw
454 ; X8632: psubw 482 ; X8632: psubw
455 ; X8632: pand 483 ; X8632: pand
456 ; ARM32: vmov.i16 [[S:.*]], #1 484 ; ARM32: vmov.i16 [[S:.*]], #1
457 ; ARM32-NEXT: vand {{.*}}, [[S]] 485 ; ARM32-NEXT: vand {{.*}}, [[S]]
458 ; MIPS32: » andi» t2,a0,0xffff 486 ; MIPS32: » move» t2,a0
487 ; MIPS32: » andi» t2,t2,0xffff
459 ; MIPS32: andi t2,t2,0x1 488 ; MIPS32: andi t2,t2,0x1
460 ; MIPS32: andi t2,t2,0x1 489 ; MIPS32: andi t2,t2,0x1
461 ; MIPS32: andi t2,t2,0xffff 490 ; MIPS32: andi t2,t2,0xffff
462 ; MIPS32: srl v0,v0,0x10 491 ; MIPS32: srl v0,v0,0x10
463 ; MIPS32: sll v0,v0,0x10 492 ; MIPS32: sll v0,v0,0x10
464 ; MIPS32: or t2,t2,v0 493 ; MIPS32: or t2,t2,v0
465 ; MIPS32: srl a0,a0,0x10 494 ; MIPS32: srl a0,a0,0x10
466 ; MIPS32: andi a0,a0,0x1 495 ; MIPS32: andi a0,a0,0x1
467 ; MIPS32: andi a0,a0,0x1 496 ; MIPS32: andi a0,a0,0x1
468 ; MIPS32: sll a0,a0,0x10 497 ; MIPS32: sll a0,a0,0x10
469 ; MIPS32: sll t2,t2,0x10 498 ; MIPS32: sll t2,t2,0x10
470 ; MIPS32: srl t2,t2,0x10 499 ; MIPS32: srl t2,t2,0x10
471 ; MIPS32: or a0,a0,t2 500 ; MIPS32: or a0,a0,t2
472 ; MIPS32: » andi» v0,a1,0xffff 501 ; MIPS32: » move» v0,a1
502 ; MIPS32: » andi» v0,v0,0xffff
473 ; MIPS32: andi v0,v0,0x1 503 ; MIPS32: andi v0,v0,0x1
474 ; MIPS32: andi v0,v0,0x1 504 ; MIPS32: andi v0,v0,0x1
475 ; MIPS32: andi v0,v0,0xffff 505 ; MIPS32: andi v0,v0,0xffff
476 ; MIPS32: srl v1,v1,0x10 506 ; MIPS32: srl v1,v1,0x10
477 ; MIPS32: sll v1,v1,0x10 507 ; MIPS32: sll v1,v1,0x10
478 ; MIPS32: or v0,v0,v1 508 ; MIPS32: or v0,v0,v1
479 ; MIPS32: srl a1,a1,0x10 509 ; MIPS32: srl a1,a1,0x10
480 ; MIPS32: andi a1,a1,0x1 510 ; MIPS32: andi a1,a1,0x1
481 ; MIPS32: andi a1,a1,0x1 511 ; MIPS32: andi a1,a1,0x1
482 ; MIPS32: sll a1,a1,0x10 512 ; MIPS32: sll a1,a1,0x10
483 ; MIPS32: sll v0,v0,0x10 513 ; MIPS32: sll v0,v0,0x10
484 ; MIPS32: srl v0,v0,0x10 514 ; MIPS32: srl v0,v0,0x10
485 ; MIPS32: or a1,a1,v0 515 ; MIPS32: or a1,a1,v0
486 ; MIPS32: » andi» v0,a2,0xffff 516 ; MIPS32: » move» v0,a2
517 ; MIPS32: » andi» v0,v0,0xffff
487 ; MIPS32: andi v0,v0,0x1 518 ; MIPS32: andi v0,v0,0x1
488 ; MIPS32: andi v0,v0,0x1 519 ; MIPS32: andi v0,v0,0x1
489 ; MIPS32: andi v0,v0,0xffff 520 ; MIPS32: andi v0,v0,0xffff
490 ; MIPS32: srl t0,t0,0x10 521 ; MIPS32: srl t0,t0,0x10
491 ; MIPS32: sll t0,t0,0x10 522 ; MIPS32: sll t0,t0,0x10
492 ; MIPS32: or v0,v0,t0 523 ; MIPS32: or v0,v0,t0
493 ; MIPS32: srl a2,a2,0x10 524 ; MIPS32: srl a2,a2,0x10
494 ; MIPS32: andi a2,a2,0x1 525 ; MIPS32: andi a2,a2,0x1
495 ; MIPS32: andi a2,a2,0x1 526 ; MIPS32: andi a2,a2,0x1
496 ; MIPS32: sll a2,a2,0x10 527 ; MIPS32: sll a2,a2,0x10
497 ; MIPS32: sll v0,v0,0x10 528 ; MIPS32: sll v0,v0,0x10
498 ; MIPS32: srl v0,v0,0x10 529 ; MIPS32: srl v0,v0,0x10
499 ; MIPS32: or a2,a2,v0 530 ; MIPS32: or a2,a2,v0
500 ; MIPS32: » andi» v0,a3,0xffff 531 ; MIPS32: » move» v0,a3
532 ; MIPS32: » andi» v0,v0,0xffff
501 ; MIPS32: andi v0,v0,0x1 533 ; MIPS32: andi v0,v0,0x1
502 ; MIPS32: andi v0,v0,0x1 534 ; MIPS32: andi v0,v0,0x1
503 ; MIPS32: andi v0,v0,0xffff 535 ; MIPS32: andi v0,v0,0xffff
504 ; MIPS32: srl t1,t1,0x10 536 ; MIPS32: srl t1,t1,0x10
505 ; MIPS32: sll t1,t1,0x10 537 ; MIPS32: sll t1,t1,0x10
506 ; MIPS32: or v0,v0,t1 538 ; MIPS32: or v0,v0,t1
507 ; MIPS32: srl a3,a3,0x10 539 ; MIPS32: srl a3,a3,0x10
508 ; MIPS32: andi a3,a3,0x1 540 ; MIPS32: andi a3,a3,0x1
509 ; MIPS32: andi a3,a3,0x1 541 ; MIPS32: andi a3,a3,0x1
510 ; MIPS32: sll a3,a3,0x10 542 ; MIPS32: sll a3,a3,0x10
(...skipping 29 matching lines...) Expand all
540 define internal <16 x i1> @test_trunc_v16i8_to_v16i1(<16 x i8> %arg) { 572 define internal <16 x i1> @test_trunc_v16i8_to_v16i1(<16 x i8> %arg) {
541 entry: 573 entry:
542 %res = trunc <16 x i8> %arg to <16 x i1> 574 %res = trunc <16 x i8> %arg to <16 x i1>
543 ret <16 x i1> %res 575 ret <16 x i1> %res
544 576
545 ; CHECK-LABEL: test_trunc_v16i8_to_v16i1 577 ; CHECK-LABEL: test_trunc_v16i8_to_v16i1
546 ; X8632: pxor 578 ; X8632: pxor
547 ; X8632: pcmpeqb 579 ; X8632: pcmpeqb
548 ; X8632: psubb 580 ; X8632: psubb
549 ; X8632: pand 581 ; X8632: pand
550 ; MIPS32: » andi» t2,a0,0xff 582 ; MIPS32: » move» t2,a0
583 ; MIPS32: » andi» t2,t2,0xff
551 ; MIPS32: andi t2,t2,0xff 584 ; MIPS32: andi t2,t2,0xff
552 ; MIPS32: srl v0,v0,0x8 585 ; MIPS32: srl v0,v0,0x8
553 ; MIPS32: sll v0,v0,0x8 586 ; MIPS32: sll v0,v0,0x8
554 ; MIPS32: or t2,t2,v0 587 ; MIPS32: or t2,t2,v0
555 ; MIPS32: » srl» v0,a0,0x8 588 ; MIPS32: » move» v0,a0
589 ; MIPS32: » srl» v0,v0,0x8
556 ; MIPS32: andi v0,v0,0xff 590 ; MIPS32: andi v0,v0,0xff
557 ; MIPS32: andi v0,v0,0xff 591 ; MIPS32: andi v0,v0,0xff
558 ; MIPS32: sll v0,v0,0x8 592 ; MIPS32: sll v0,v0,0x8
559 ; MIPS32: lui t3,0xffff 593 ; MIPS32: lui t3,0xffff
560 ; MIPS32: ori t3,t3,0xff 594 ; MIPS32: ori t3,t3,0xff
561 ; MIPS32: and t2,t2,t3 595 ; MIPS32: and t2,t2,t3
562 ; MIPS32: or v0,v0,t2 596 ; MIPS32: or v0,v0,t2
563 ; MIPS32: » srl» t2,a0,0x10 597 ; MIPS32: » move» t2,a0
598 ; MIPS32: » srl» t2,t2,0x10
564 ; MIPS32: andi t2,t2,0xff 599 ; MIPS32: andi t2,t2,0xff
565 ; MIPS32: andi t2,t2,0xff 600 ; MIPS32: andi t2,t2,0xff
566 ; MIPS32: sll t2,t2,0x10 601 ; MIPS32: sll t2,t2,0x10
567 ; MIPS32: lui t3,0xff00 602 ; MIPS32: lui t3,0xff00
568 ; MIPS32: ori t3,t3,0xffff 603 ; MIPS32: ori t3,t3,0xffff
569 ; MIPS32: and v0,v0,t3 604 ; MIPS32: and v0,v0,t3
570 ; MIPS32: or t2,t2,v0 605 ; MIPS32: or t2,t2,v0
571 ; MIPS32: srl a0,a0,0x18 606 ; MIPS32: srl a0,a0,0x18
572 ; MIPS32: srl a0,a0,0x18 607 ; MIPS32: srl a0,a0,0x18
573 ; MIPS32: sll t2,t2,0x8 608 ; MIPS32: sll t2,t2,0x8
574 ; MIPS32: srl t2,t2,0x8 609 ; MIPS32: srl t2,t2,0x8
575 ; MIPS32: or a0,a0,t2 610 ; MIPS32: or a0,a0,t2
576 ; MIPS32: » andi» v0,a1,0xff 611 ; MIPS32: » move» v0,a1
612 ; MIPS32: » andi» v0,v0,0xff
577 ; MIPS32: andi v0,v0,0xff 613 ; MIPS32: andi v0,v0,0xff
578 ; MIPS32: srl v1,v1,0x8 614 ; MIPS32: srl v1,v1,0x8
579 ; MIPS32: sll v1,v1,0x8 615 ; MIPS32: sll v1,v1,0x8
580 ; MIPS32: or v0,v0,v1 616 ; MIPS32: or v0,v0,v1
581 ; MIPS32: » srl» v1,a1,0x8 617 ; MIPS32: » move» v1,a1
618 ; MIPS32: » srl» v1,v1,0x8
582 ; MIPS32: andi v1,v1,0xff 619 ; MIPS32: andi v1,v1,0xff
583 ; MIPS32: andi v1,v1,0xff 620 ; MIPS32: andi v1,v1,0xff
584 ; MIPS32: sll v1,v1,0x8 621 ; MIPS32: sll v1,v1,0x8
585 ; MIPS32: lui t2,0xffff 622 ; MIPS32: lui t2,0xffff
586 ; MIPS32: ori t2,t2,0xff 623 ; MIPS32: ori t2,t2,0xff
587 ; MIPS32: and v0,v0,t2 624 ; MIPS32: and v0,v0,t2
588 ; MIPS32: or v1,v1,v0 625 ; MIPS32: or v1,v1,v0
589 ; MIPS32: » srl» v0,a1,0x10 626 ; MIPS32: » move» v0,a1
627 ; MIPS32: » srl» v0,v0,0x10
590 ; MIPS32: andi v0,v0,0xff 628 ; MIPS32: andi v0,v0,0xff
591 ; MIPS32: andi v0,v0,0xff 629 ; MIPS32: andi v0,v0,0xff
592 ; MIPS32: sll v0,v0,0x10 630 ; MIPS32: sll v0,v0,0x10
593 ; MIPS32: lui t2,0xff00 631 ; MIPS32: lui t2,0xff00
594 ; MIPS32: ori t2,t2,0xffff 632 ; MIPS32: ori t2,t2,0xffff
595 ; MIPS32: and v1,v1,t2 633 ; MIPS32: and v1,v1,t2
596 ; MIPS32: or v0,v0,v1 634 ; MIPS32: or v0,v0,v1
597 ; MIPS32: srl a1,a1,0x18 635 ; MIPS32: srl a1,a1,0x18
598 ; MIPS32: srl a1,a1,0x18 636 ; MIPS32: srl a1,a1,0x18
599 ; MIPS32: sll v0,v0,0x8 637 ; MIPS32: sll v0,v0,0x8
600 ; MIPS32: srl v0,v0,0x8 638 ; MIPS32: srl v0,v0,0x8
601 ; MIPS32: or a1,a1,v0 639 ; MIPS32: or a1,a1,v0
602 ; MIPS32: » andi» v0,a2,0xff 640 ; MIPS32: » move» v0,a2
641 ; MIPS32: » andi» v0,v0,0xff
603 ; MIPS32: andi v0,v0,0xff 642 ; MIPS32: andi v0,v0,0xff
604 ; MIPS32: srl t0,t0,0x8 643 ; MIPS32: srl t0,t0,0x8
605 ; MIPS32: sll t0,t0,0x8 644 ; MIPS32: sll t0,t0,0x8
606 ; MIPS32: or v0,v0,t0 645 ; MIPS32: or v0,v0,t0
607 ; MIPS32: » srl» v1,a2,0x8 646 ; MIPS32: » move» v1,a2
647 ; MIPS32: » srl» v1,v1,0x8
608 ; MIPS32: andi v1,v1,0xff 648 ; MIPS32: andi v1,v1,0xff
609 ; MIPS32: andi v1,v1,0xff 649 ; MIPS32: andi v1,v1,0xff
610 ; MIPS32: sll v1,v1,0x8 650 ; MIPS32: sll v1,v1,0x8
611 ; MIPS32: lui t0,0xffff 651 ; MIPS32: lui t0,0xffff
612 ; MIPS32: ori t0,t0,0xff 652 ; MIPS32: ori t0,t0,0xff
613 ; MIPS32: and v0,v0,t0 653 ; MIPS32: and v0,v0,t0
614 ; MIPS32: or v1,v1,v0 654 ; MIPS32: or v1,v1,v0
615 ; MIPS32: » srl» v0,a2,0x10 655 ; MIPS32: » move» v0,a2
656 ; MIPS32: » srl» v0,v0,0x10
616 ; MIPS32: andi v0,v0,0xff 657 ; MIPS32: andi v0,v0,0xff
617 ; MIPS32: andi v0,v0,0xff 658 ; MIPS32: andi v0,v0,0xff
618 ; MIPS32: sll v0,v0,0x10 659 ; MIPS32: sll v0,v0,0x10
619 ; MIPS32: lui t0,0xff00 660 ; MIPS32: lui t0,0xff00
620 ; MIPS32: ori t0,t0,0xffff 661 ; MIPS32: ori t0,t0,0xffff
621 ; MIPS32: and v1,v1,t0 662 ; MIPS32: and v1,v1,t0
622 ; MIPS32: or v0,v0,v1 663 ; MIPS32: or v0,v0,v1
623 ; MIPS32: srl a2,a2,0x18 664 ; MIPS32: srl a2,a2,0x18
624 ; MIPS32: srl a2,a2,0x18 665 ; MIPS32: srl a2,a2,0x18
625 ; MIPS32: sll v0,v0,0x8 666 ; MIPS32: sll v0,v0,0x8
626 ; MIPS32: srl v0,v0,0x8 667 ; MIPS32: srl v0,v0,0x8
627 ; MIPS32: or a2,a2,v0 668 ; MIPS32: or a2,a2,v0
628 ; MIPS32: » andi» v0,a3,0xff 669 ; MIPS32: » move» v0,a3
670 ; MIPS32: » andi» v0,v0,0xff
629 ; MIPS32: andi v0,v0,0xff 671 ; MIPS32: andi v0,v0,0xff
630 ; MIPS32: srl t1,t1,0x8 672 ; MIPS32: srl t1,t1,0x8
631 ; MIPS32: sll t1,t1,0x8 673 ; MIPS32: sll t1,t1,0x8
632 ; MIPS32: or v0,v0,t1 674 ; MIPS32: or v0,v0,t1
633 ; MIPS32: » srl» v1,a3,0x8 675 ; MIPS32: » move» v1,a3
676 ; MIPS32: » srl» v1,v1,0x8
634 ; MIPS32: andi v1,v1,0xff 677 ; MIPS32: andi v1,v1,0xff
635 ; MIPS32: andi v1,v1,0xff 678 ; MIPS32: andi v1,v1,0xff
636 ; MIPS32: sll v1,v1,0x8 679 ; MIPS32: sll v1,v1,0x8
637 ; MIPS32: lui t0,0xffff 680 ; MIPS32: lui t0,0xffff
638 ; MIPS32: ori t0,t0,0xff 681 ; MIPS32: ori t0,t0,0xff
639 ; MIPS32: and v0,v0,t0 682 ; MIPS32: and v0,v0,t0
640 ; MIPS32: or v1,v1,v0 683 ; MIPS32: or v1,v1,v0
641 ; MIPS32: » srl» v0,a3,0x10 684 ; MIPS32: » move» v0,a3
685 ; MIPS32: » srl» v0,v0,0x10
642 ; MIPS32: andi v0,v0,0xff 686 ; MIPS32: andi v0,v0,0xff
643 ; MIPS32: andi v0,v0,0xff 687 ; MIPS32: andi v0,v0,0xff
644 ; MIPS32: sll v0,v0,0x10 688 ; MIPS32: sll v0,v0,0x10
645 ; MIPS32: lui t0,0xff00 689 ; MIPS32: lui t0,0xff00
646 ; MIPS32: ori t0,t0,0xffff 690 ; MIPS32: ori t0,t0,0xffff
647 ; MIPS32: and v1,v1,t0 691 ; MIPS32: and v1,v1,t0
648 ; MIPS32: or v0,v0,v1 692 ; MIPS32: or v0,v0,v1
649 ; MIPS32: srl a3,a3,0x18 693 ; MIPS32: srl a3,a3,0x18
650 ; MIPS32: srl a3,a3,0x18 694 ; MIPS32: srl a3,a3,0x18
651 ; MIPS32: sll v0,v0,0x8 695 ; MIPS32: sll v0,v0,0x8
652 ; MIPS32: srl v0,v0,0x8 696 ; MIPS32: srl v0,v0,0x8
653 ; MIPS32: or a3,a3,v0 697 ; MIPS32: or a3,a3,v0
654 } 698 }
655 699
656 define internal <8 x i1> @test_trunc_v8i16_to_v8i1(<8 x i16> %arg) { 700 define internal <8 x i1> @test_trunc_v8i16_to_v8i1(<8 x i16> %arg) {
657 entry: 701 entry:
658 %res = trunc <8 x i16> %arg to <8 x i1> 702 %res = trunc <8 x i16> %arg to <8 x i1>
659 ret <8 x i1> %res 703 ret <8 x i1> %res
660 704
661 ; CHECK-LABEL: test_trunc_v8i16_to_v8i1 705 ; CHECK-LABEL: test_trunc_v8i16_to_v8i1
662 ; X8632: pxor 706 ; X8632: pxor
663 ; X8632: pcmpeqw 707 ; X8632: pcmpeqw
664 ; X8632: psubw 708 ; X8632: psubw
665 ; X8632: pand 709 ; X8632: pand
666 ; MIPS32: » andi» t2,a0,0xffff 710 ; MIPS32: » move» t2,a0
711 ; MIPS32: » andi» t2,t2,0xffff
667 ; MIPS32: andi t2,t2,0xffff 712 ; MIPS32: andi t2,t2,0xffff
668 ; MIPS32: srl v0,v0,0x10 713 ; MIPS32: srl v0,v0,0x10
669 ; MIPS32: sll v0,v0,0x10 714 ; MIPS32: sll v0,v0,0x10
670 ; MIPS32: or t2,t2,v0 715 ; MIPS32: or t2,t2,v0
671 ; MIPS32: srl a0,a0,0x10 716 ; MIPS32: srl a0,a0,0x10
672 ; MIPS32: sll a0,a0,0x10 717 ; MIPS32: sll a0,a0,0x10
673 ; MIPS32: sll t2,t2,0x10 718 ; MIPS32: sll t2,t2,0x10
674 ; MIPS32: srl t2,t2,0x10 719 ; MIPS32: srl t2,t2,0x10
675 ; MIPS32: or a0,a0,t2 720 ; MIPS32: or a0,a0,t2
676 ; MIPS32: » andi» v0,a1,0xffff 721 ; MIPS32: » move» v0,a1
722 ; MIPS32: » andi» v0,v0,0xffff
677 ; MIPS32: andi v0,v0,0xffff 723 ; MIPS32: andi v0,v0,0xffff
678 ; MIPS32: srl v1,v1,0x10 724 ; MIPS32: srl v1,v1,0x10
679 ; MIPS32: sll v1,v1,0x10 725 ; MIPS32: sll v1,v1,0x10
680 ; MIPS32: or v0,v0,v1 726 ; MIPS32: or v0,v0,v1
681 ; MIPS32: srl a1,a1,0x10 727 ; MIPS32: srl a1,a1,0x10
682 ; MIPS32: sll a1,a1,0x10 728 ; MIPS32: sll a1,a1,0x10
683 ; MIPS32: sll v0,v0,0x10 729 ; MIPS32: sll v0,v0,0x10
684 ; MIPS32: srl v0,v0,0x10 730 ; MIPS32: srl v0,v0,0x10
685 ; MIPS32: or a1,a1,v0 731 ; MIPS32: or a1,a1,v0
686 ; MIPS32: » andi» v0,a2,0xffff 732 ; MIPS32: » move» v0,a2
733 ; MIPS32: » andi» v0,v0,0xffff
687 ; MIPS32: andi v0,v0,0xffff 734 ; MIPS32: andi v0,v0,0xffff
688 ; MIPS32: srl t0,t0,0x10 735 ; MIPS32: srl t0,t0,0x10
689 ; MIPS32: sll t0,t0,0x10 736 ; MIPS32: sll t0,t0,0x10
690 ; MIPS32: or v0,v0,t0 737 ; MIPS32: or v0,v0,t0
691 ; MIPS32: srl a2,a2,0x10 738 ; MIPS32: srl a2,a2,0x10
692 ; MIPS32: sll a2,a2,0x10 739 ; MIPS32: sll a2,a2,0x10
693 ; MIPS32: sll v0,v0,0x10 740 ; MIPS32: sll v0,v0,0x10
694 ; MIPS32: srl v0,v0,0x10 741 ; MIPS32: srl v0,v0,0x10
695 ; MIPS32: or a2,a2,v0 742 ; MIPS32: or a2,a2,v0
696 ; MIPS32: » andi» v0,a3,0xffff 743 ; MIPS32: » move» v0,a3
744 ; MIPS32: » andi» v0,v0,0xffff
697 ; MIPS32: andi v0,v0,0xffff 745 ; MIPS32: andi v0,v0,0xffff
698 ; MIPS32: srl t1,t1,0x10 746 ; MIPS32: srl t1,t1,0x10
699 ; MIPS32: sll t1,t1,0x10 747 ; MIPS32: sll t1,t1,0x10
700 ; MIPS32: or v0,v0,t1 748 ; MIPS32: or v0,v0,t1
701 ; MIPS32: srl a3,a3,0x10 749 ; MIPS32: srl a3,a3,0x10
702 ; MIPS32: sll a3,a3,0x10 750 ; MIPS32: sll a3,a3,0x10
703 ; MIPS32: sll v0,v0,0x10 751 ; MIPS32: sll v0,v0,0x10
704 ; MIPS32: srl v0,v0,0x10 752 ; MIPS32: srl v0,v0,0x10
705 ; MIPS32: or a3,a3,v0 753 ; MIPS32: or a3,a3,v0
706 } 754 }
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 ret <4 x float> %res 822 ret <4 x float> %res
775 823
776 ; CHECK-LABEL: test_uitofp_v4i32_to_v4f32 824 ; CHECK-LABEL: test_uitofp_v4i32_to_v4f32
777 ; X8632: call {{.*}} R_{{.*}} __Sz_uitofp_4xi32_4xf32 825 ; X8632: call {{.*}} R_{{.*}} __Sz_uitofp_4xi32_4xf32
778 ; ARM32: vcvt.f32.u32 826 ; ARM32: vcvt.f32.u32
779 ; MIPS32: cvt.s.w $f0,$f0 827 ; MIPS32: cvt.s.w $f0,$f0
780 ; MIPS32: cvt.s.w $f0,$f0 828 ; MIPS32: cvt.s.w $f0,$f0
781 ; MIPS32: cvt.s.w $f0,$f0 829 ; MIPS32: cvt.s.w $f0,$f0
782 ; MIPS32: cvt.s.w $f0,$f0 830 ; MIPS32: cvt.s.w $f0,$f0
783 } 831 }
OLDNEW
« no previous file with comments | « tests_lit/llvm2ice_tests/vector-arg.ll ('k') | tests_lit/llvm2ice_tests/vector-icmp.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698