OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |