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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 ; MIPS32: andi t2,t2,0xff | 63 ; MIPS32: andi t2,t2,0xff |
64 ; MIPS32: sll t2,t2,0x10 | 64 ; MIPS32: sll t2,t2,0x10 |
65 ; MIPS32: lui t3,0xff00 | 65 ; MIPS32: lui t3,0xff00 |
66 ; MIPS32: ori t3,t3,0xffff | 66 ; MIPS32: ori t3,t3,0xffff |
67 ; MIPS32: and v0,v0,t3 | 67 ; MIPS32: and v0,v0,t3 |
68 ; MIPS32: or t2,t2,v0 | 68 ; MIPS32: or t2,t2,v0 |
69 ; MIPS32: srl a0,a0,0x18 | 69 ; MIPS32: srl a0,a0,0x18 |
70 ; MIPS32: andi a0,a0,0x1 | 70 ; MIPS32: andi a0,a0,0x1 |
71 ; MIPS32: sll a0,a0,0x1f | 71 ; MIPS32: sll a0,a0,0x1f |
72 ; MIPS32: sra a0,a0,0x1f | 72 ; MIPS32: sra a0,a0,0x1f |
73 ; MIPS32: » srl» a0,a0,0x18 | 73 ; MIPS32: » sll» a0,a0,0x18 |
74 ; MIPS32: sll t2,t2,0x8 | 74 ; MIPS32: sll t2,t2,0x8 |
75 ; MIPS32: srl t2,t2,0x8 | 75 ; MIPS32: srl t2,t2,0x8 |
76 ; MIPS32: or a0,a0,t2 | 76 ; MIPS32: or a0,a0,t2 |
77 ; MIPS32: move v0,a1 | 77 ; MIPS32: move v0,a1 |
78 ; MIPS32: andi v0,v0,0xff | 78 ; MIPS32: andi v0,v0,0xff |
79 ; MIPS32: andi v0,v0,0x1 | 79 ; MIPS32: andi v0,v0,0x1 |
80 ; MIPS32: sll v0,v0,0x1f | 80 ; MIPS32: sll v0,v0,0x1f |
81 ; MIPS32: sra v0,v0,0x1f | 81 ; MIPS32: sra v0,v0,0x1f |
82 ; MIPS32: andi v0,v0,0xff | 82 ; MIPS32: andi v0,v0,0xff |
83 ; MIPS32: srl v1,v1,0x8 | 83 ; MIPS32: srl v1,v1,0x8 |
(...skipping 20 matching lines...) Expand all Loading... |
104 ; MIPS32: andi v0,v0,0xff | 104 ; MIPS32: andi v0,v0,0xff |
105 ; MIPS32: sll v0,v0,0x10 | 105 ; MIPS32: sll v0,v0,0x10 |
106 ; MIPS32: lui t2,0xff00 | 106 ; MIPS32: lui t2,0xff00 |
107 ; MIPS32: ori t2,t2,0xffff | 107 ; MIPS32: ori t2,t2,0xffff |
108 ; MIPS32: and v1,v1,t2 | 108 ; MIPS32: and v1,v1,t2 |
109 ; MIPS32: or v0,v0,v1 | 109 ; MIPS32: or v0,v0,v1 |
110 ; MIPS32: srl a1,a1,0x18 | 110 ; MIPS32: srl a1,a1,0x18 |
111 ; MIPS32: andi a1,a1,0x1 | 111 ; MIPS32: andi a1,a1,0x1 |
112 ; MIPS32: sll a1,a1,0x1f | 112 ; MIPS32: sll a1,a1,0x1f |
113 ; MIPS32: sra a1,a1,0x1f | 113 ; MIPS32: sra a1,a1,0x1f |
114 ; MIPS32: » srl» a1,a1,0x18 | 114 ; MIPS32: » sll» a1,a1,0x18 |
115 ; MIPS32: sll v0,v0,0x8 | 115 ; MIPS32: sll v0,v0,0x8 |
116 ; MIPS32: srl v0,v0,0x8 | 116 ; MIPS32: srl v0,v0,0x8 |
117 ; MIPS32: or a1,a1,v0 | 117 ; MIPS32: or a1,a1,v0 |
118 ; MIPS32: move v0,a2 | 118 ; MIPS32: move v0,a2 |
119 ; MIPS32: andi v0,v0,0xff | 119 ; MIPS32: andi v0,v0,0xff |
120 ; MIPS32: andi v0,v0,0x1 | 120 ; MIPS32: andi v0,v0,0x1 |
121 ; MIPS32: sll v0,v0,0x1f | 121 ; MIPS32: sll v0,v0,0x1f |
122 ; MIPS32: sra v0,v0,0x1f | 122 ; MIPS32: sra v0,v0,0x1f |
123 ; MIPS32: andi v0,v0,0xff | 123 ; MIPS32: andi v0,v0,0xff |
124 ; MIPS32: srl t0,t0,0x8 | 124 ; MIPS32: srl t0,t0,0x8 |
(...skipping 20 matching lines...) Expand all Loading... |
145 ; MIPS32: andi v0,v0,0xff | 145 ; MIPS32: andi v0,v0,0xff |
146 ; MIPS32: sll v0,v0,0x10 | 146 ; MIPS32: sll v0,v0,0x10 |
147 ; MIPS32: lui t0,0xff00 | 147 ; MIPS32: lui t0,0xff00 |
148 ; MIPS32: ori t0,t0,0xffff | 148 ; MIPS32: ori t0,t0,0xffff |
149 ; MIPS32: and v1,v1,t0 | 149 ; MIPS32: and v1,v1,t0 |
150 ; MIPS32: or v0,v0,v1 | 150 ; MIPS32: or v0,v0,v1 |
151 ; MIPS32: srl a2,a2,0x18 | 151 ; MIPS32: srl a2,a2,0x18 |
152 ; MIPS32: andi a2,a2,0x1 | 152 ; MIPS32: andi a2,a2,0x1 |
153 ; MIPS32: sll a2,a2,0x1f | 153 ; MIPS32: sll a2,a2,0x1f |
154 ; MIPS32: sra a2,a2,0x1f | 154 ; MIPS32: sra a2,a2,0x1f |
155 ; MIPS32: » srl» a2,a2,0x18 | 155 ; MIPS32: » sll» a2,a2,0x18 |
156 ; MIPS32: sll v0,v0,0x8 | 156 ; MIPS32: sll v0,v0,0x8 |
157 ; MIPS32: srl v0,v0,0x8 | 157 ; MIPS32: srl v0,v0,0x8 |
158 ; MIPS32: or a2,a2,v0 | 158 ; MIPS32: or a2,a2,v0 |
159 ; MIPS32: move v0,a3 | 159 ; MIPS32: move v0,a3 |
160 ; MIPS32: andi v0,v0,0xff | 160 ; MIPS32: andi v0,v0,0xff |
161 ; MIPS32: andi v0,v0,0x1 | 161 ; MIPS32: andi v0,v0,0x1 |
162 ; MIPS32: sll v0,v0,0x1f | 162 ; MIPS32: sll v0,v0,0x1f |
163 ; MIPS32: sra v0,v0,0x1f | 163 ; MIPS32: sra v0,v0,0x1f |
164 ; MIPS32: andi v0,v0,0xff | 164 ; MIPS32: andi v0,v0,0xff |
165 ; MIPS32: srl t1,t1,0x8 | 165 ; MIPS32: srl t1,t1,0x8 |
(...skipping 20 matching lines...) Expand all Loading... |
186 ; MIPS32: andi v0,v0,0xff | 186 ; MIPS32: andi v0,v0,0xff |
187 ; MIPS32: sll v0,v0,0x10 | 187 ; MIPS32: sll v0,v0,0x10 |
188 ; MIPS32: lui t0,0xff00 | 188 ; MIPS32: lui t0,0xff00 |
189 ; MIPS32: ori t0,t0,0xffff | 189 ; MIPS32: ori t0,t0,0xffff |
190 ; MIPS32: and v1,v1,t0 | 190 ; MIPS32: and v1,v1,t0 |
191 ; MIPS32: or v0,v0,v1 | 191 ; MIPS32: or v0,v0,v1 |
192 ; MIPS32: srl a3,a3,0x18 | 192 ; MIPS32: srl a3,a3,0x18 |
193 ; MIPS32: andi a3,a3,0x1 | 193 ; MIPS32: andi a3,a3,0x1 |
194 ; MIPS32: sll a3,a3,0x1f | 194 ; MIPS32: sll a3,a3,0x1f |
195 ; MIPS32: sra a3,a3,0x1f | 195 ; MIPS32: sra a3,a3,0x1f |
196 ; MIPS32: » srl» a3,a3,0x18 | 196 ; MIPS32: » sll» a3,a3,0x18 |
197 ; MIPS32: sll v0,v0,0x8 | 197 ; MIPS32: sll v0,v0,0x8 |
198 ; MIPS32: srl v0,v0,0x8 | 198 ; MIPS32: srl v0,v0,0x8 |
199 ; MIPS32: or a3,a3,v0 | 199 ; MIPS32: or a3,a3,v0 |
200 } | 200 } |
201 | 201 |
202 define internal <8 x i16> @test_sext_v8i1_to_v8i16(<8 x i1> %arg) { | 202 define internal <8 x i16> @test_sext_v8i1_to_v8i16(<8 x i1> %arg) { |
203 entry: | 203 entry: |
204 %res = sext <8 x i1> %arg to <8 x i16> | 204 %res = sext <8 x i1> %arg to <8 x i16> |
205 ret <8 x i16> %res | 205 ret <8 x i16> %res |
206 | 206 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 ; MIPS32: andi t2,t2,0x1 | 347 ; MIPS32: andi t2,t2,0x1 |
348 ; MIPS32: andi t2,t2,0xff | 348 ; MIPS32: andi t2,t2,0xff |
349 ; MIPS32: sll t2,t2,0x10 | 349 ; MIPS32: sll t2,t2,0x10 |
350 ; MIPS32: lui t3,0xff00 | 350 ; MIPS32: lui t3,0xff00 |
351 ; MIPS32: ori t3,t3,0xffff | 351 ; MIPS32: ori t3,t3,0xffff |
352 ; MIPS32: and v0,v0,t3 | 352 ; MIPS32: and v0,v0,t3 |
353 ; MIPS32: or t2,t2,v0 | 353 ; MIPS32: or t2,t2,v0 |
354 ; MIPS32: srl a0,a0,0x18 | 354 ; MIPS32: srl a0,a0,0x18 |
355 ; MIPS32: andi a0,a0,0x1 | 355 ; MIPS32: andi a0,a0,0x1 |
356 ; MIPS32: andi a0,a0,0x1 | 356 ; MIPS32: andi a0,a0,0x1 |
357 ; MIPS32: » srl» a0,a0,0x18 | 357 ; MIPS32: » sll» a0,a0,0x18 |
358 ; MIPS32: sll t2,t2,0x8 | 358 ; MIPS32: sll t2,t2,0x8 |
359 ; MIPS32: srl t2,t2,0x8 | 359 ; MIPS32: srl t2,t2,0x8 |
360 ; MIPS32: or a0,a0,t2 | 360 ; MIPS32: or a0,a0,t2 |
361 ; MIPS32: move v0,a1 | 361 ; MIPS32: move v0,a1 |
362 ; MIPS32: andi v0,v0,0xff | 362 ; MIPS32: andi v0,v0,0xff |
363 ; MIPS32: andi v0,v0,0x1 | 363 ; MIPS32: andi v0,v0,0x1 |
364 ; MIPS32: andi v0,v0,0x1 | 364 ; MIPS32: andi v0,v0,0x1 |
365 ; MIPS32: andi v0,v0,0xff | 365 ; MIPS32: andi v0,v0,0xff |
366 ; MIPS32: srl v1,v1,0x8 | 366 ; MIPS32: srl v1,v1,0x8 |
367 ; MIPS32: sll v1,v1,0x8 | 367 ; MIPS32: sll v1,v1,0x8 |
(...skipping 16 matching lines...) Expand all Loading... |
384 ; MIPS32: andi v0,v0,0x1 | 384 ; MIPS32: andi v0,v0,0x1 |
385 ; MIPS32: andi v0,v0,0xff | 385 ; MIPS32: andi v0,v0,0xff |
386 ; MIPS32: sll v0,v0,0x10 | 386 ; MIPS32: sll v0,v0,0x10 |
387 ; MIPS32: lui t2,0xff00 | 387 ; MIPS32: lui t2,0xff00 |
388 ; MIPS32: ori t2,t2,0xffff | 388 ; MIPS32: ori t2,t2,0xffff |
389 ; MIPS32: and v1,v1,t2 | 389 ; MIPS32: and v1,v1,t2 |
390 ; MIPS32: or v0,v0,v1 | 390 ; MIPS32: or v0,v0,v1 |
391 ; MIPS32: srl a1,a1,0x18 | 391 ; MIPS32: srl a1,a1,0x18 |
392 ; MIPS32: andi a1,a1,0x1 | 392 ; MIPS32: andi a1,a1,0x1 |
393 ; MIPS32: andi a1,a1,0x1 | 393 ; MIPS32: andi a1,a1,0x1 |
394 ; MIPS32: » srl» a1,a1,0x18 | 394 ; MIPS32: » sll» a1,a1,0x18 |
395 ; MIPS32: sll v0,v0,0x8 | 395 ; MIPS32: sll v0,v0,0x8 |
396 ; MIPS32: srl v0,v0,0x8 | 396 ; MIPS32: srl v0,v0,0x8 |
397 ; MIPS32: or a1,a1,v0 | 397 ; MIPS32: or a1,a1,v0 |
398 ; MIPS32: move v0,a2 | 398 ; MIPS32: move v0,a2 |
399 ; MIPS32: andi v0,v0,0xff | 399 ; MIPS32: andi v0,v0,0xff |
400 ; MIPS32: andi v0,v0,0x1 | 400 ; MIPS32: andi v0,v0,0x1 |
401 ; MIPS32: andi v0,v0,0x1 | 401 ; MIPS32: andi v0,v0,0x1 |
402 ; MIPS32: andi v0,v0,0xff | 402 ; MIPS32: andi v0,v0,0xff |
403 ; MIPS32: srl t0,t0,0x8 | 403 ; MIPS32: srl t0,t0,0x8 |
404 ; MIPS32: sll t0,t0,0x8 | 404 ; MIPS32: sll t0,t0,0x8 |
(...skipping 16 matching lines...) Expand all Loading... |
421 ; MIPS32: andi v0,v0,0x1 | 421 ; MIPS32: andi v0,v0,0x1 |
422 ; MIPS32: andi v0,v0,0xff | 422 ; MIPS32: andi v0,v0,0xff |
423 ; MIPS32: sll v0,v0,0x10 | 423 ; MIPS32: sll v0,v0,0x10 |
424 ; MIPS32: lui t0,0xff00 | 424 ; MIPS32: lui t0,0xff00 |
425 ; MIPS32: ori t0,t0,0xffff | 425 ; MIPS32: ori t0,t0,0xffff |
426 ; MIPS32: and v1,v1,t0 | 426 ; MIPS32: and v1,v1,t0 |
427 ; MIPS32: or v0,v0,v1 | 427 ; MIPS32: or v0,v0,v1 |
428 ; MIPS32: srl a2,a2,0x18 | 428 ; MIPS32: srl a2,a2,0x18 |
429 ; MIPS32: andi a2,a2,0x1 | 429 ; MIPS32: andi a2,a2,0x1 |
430 ; MIPS32: andi a2,a2,0x1 | 430 ; MIPS32: andi a2,a2,0x1 |
431 ; MIPS32: » srl» a2,a2,0x18 | 431 ; MIPS32: » sll» a2,a2,0x18 |
432 ; MIPS32: sll v0,v0,0x8 | 432 ; MIPS32: sll v0,v0,0x8 |
433 ; MIPS32: srl v0,v0,0x8 | 433 ; MIPS32: srl v0,v0,0x8 |
434 ; MIPS32: or a2,a2,v0 | 434 ; MIPS32: or a2,a2,v0 |
435 ; MIPS32: move v0,a3 | 435 ; MIPS32: move v0,a3 |
436 ; MIPS32: andi v0,v0,0xff | 436 ; MIPS32: andi v0,v0,0xff |
437 ; MIPS32: andi v0,v0,0x1 | 437 ; MIPS32: andi v0,v0,0x1 |
438 ; MIPS32: andi v0,v0,0x1 | 438 ; MIPS32: andi v0,v0,0x1 |
439 ; MIPS32: andi v0,v0,0xff | 439 ; MIPS32: andi v0,v0,0xff |
440 ; MIPS32: srl t1,t1,0x8 | 440 ; MIPS32: srl t1,t1,0x8 |
441 ; MIPS32: sll t1,t1,0x8 | 441 ; MIPS32: sll t1,t1,0x8 |
(...skipping 16 matching lines...) Expand all Loading... |
458 ; MIPS32: andi v0,v0,0x1 | 458 ; MIPS32: andi v0,v0,0x1 |
459 ; MIPS32: andi v0,v0,0xff | 459 ; MIPS32: andi v0,v0,0xff |
460 ; MIPS32: sll v0,v0,0x10 | 460 ; MIPS32: sll v0,v0,0x10 |
461 ; MIPS32: lui t0,0xff00 | 461 ; MIPS32: lui t0,0xff00 |
462 ; MIPS32: ori t0,t0,0xffff | 462 ; MIPS32: ori t0,t0,0xffff |
463 ; MIPS32: and v1,v1,t0 | 463 ; MIPS32: and v1,v1,t0 |
464 ; MIPS32: or v0,v0,v1 | 464 ; MIPS32: or v0,v0,v1 |
465 ; MIPS32: srl a3,a3,0x18 | 465 ; MIPS32: srl a3,a3,0x18 |
466 ; MIPS32: andi a3,a3,0x1 | 466 ; MIPS32: andi a3,a3,0x1 |
467 ; MIPS32: andi a3,a3,0x1 | 467 ; MIPS32: andi a3,a3,0x1 |
468 ; MIPS32: » srl» a3,a3,0x18 | 468 ; MIPS32: » sll» a3,a3,0x18 |
469 ; MIPS32: sll v0,v0,0x8 | 469 ; MIPS32: sll v0,v0,0x8 |
470 ; MIPS32: srl v0,v0,0x8 | 470 ; MIPS32: srl v0,v0,0x8 |
471 ; MIPS32: or a3,a3,v0 | 471 ; MIPS32: or a3,a3,v0 |
472 } | 472 } |
473 | 473 |
474 define internal <8 x i16> @test_zext_v8i1_to_v8i16(<8 x i1> %arg) { | 474 define internal <8 x i16> @test_zext_v8i1_to_v8i16(<8 x i1> %arg) { |
475 entry: | 475 entry: |
476 %res = zext <8 x i1> %arg to <8 x i16> | 476 %res = zext <8 x i1> %arg to <8 x i16> |
477 ret <8 x i16> %res | 477 ret <8 x i16> %res |
478 | 478 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 %res = trunc <16 x i8> %arg to <16 x i1> | 574 %res = trunc <16 x i8> %arg to <16 x i1> |
575 ret <16 x i1> %res | 575 ret <16 x i1> %res |
576 | 576 |
577 ; CHECK-LABEL: test_trunc_v16i8_to_v16i1 | 577 ; CHECK-LABEL: test_trunc_v16i8_to_v16i1 |
578 ; X8632: pxor | 578 ; X8632: pxor |
579 ; X8632: pcmpeqb | 579 ; X8632: pcmpeqb |
580 ; X8632: psubb | 580 ; X8632: psubb |
581 ; X8632: pand | 581 ; X8632: pand |
582 ; MIPS32: move t2,a0 | 582 ; MIPS32: move t2,a0 |
583 ; MIPS32: andi t2,t2,0xff | 583 ; MIPS32: andi t2,t2,0xff |
| 584 ; MIPS32: andi t2,t2,0x1 |
584 ; MIPS32: andi t2,t2,0xff | 585 ; MIPS32: andi t2,t2,0xff |
585 ; MIPS32: srl v0,v0,0x8 | 586 ; MIPS32: srl v0,v0,0x8 |
586 ; MIPS32: sll v0,v0,0x8 | 587 ; MIPS32: sll v0,v0,0x8 |
587 ; MIPS32: or t2,t2,v0 | 588 ; MIPS32: or t2,t2,v0 |
588 ; MIPS32: move v0,a0 | 589 ; MIPS32: move v0,a0 |
589 ; MIPS32: srl v0,v0,0x8 | 590 ; MIPS32: srl v0,v0,0x8 |
590 ; MIPS32: andi v0,v0,0xff | 591 ; MIPS32: andi v0,v0,0xff |
| 592 ; MIPS32: andi v0,v0,0x1 |
591 ; MIPS32: andi v0,v0,0xff | 593 ; MIPS32: andi v0,v0,0xff |
592 ; MIPS32: sll v0,v0,0x8 | 594 ; MIPS32: sll v0,v0,0x8 |
593 ; MIPS32: lui t3,0xffff | 595 ; MIPS32: lui t3,0xffff |
594 ; MIPS32: ori t3,t3,0xff | 596 ; MIPS32: ori t3,t3,0xff |
595 ; MIPS32: and t2,t2,t3 | 597 ; MIPS32: and t2,t2,t3 |
596 ; MIPS32: or v0,v0,t2 | 598 ; MIPS32: or v0,v0,t2 |
597 ; MIPS32: move t2,a0 | 599 ; MIPS32: move t2,a0 |
598 ; MIPS32: srl t2,t2,0x10 | 600 ; MIPS32: srl t2,t2,0x10 |
599 ; MIPS32: andi t2,t2,0xff | 601 ; MIPS32: andi t2,t2,0xff |
| 602 ; MIPS32: andi t2,t2,0x1 |
600 ; MIPS32: andi t2,t2,0xff | 603 ; MIPS32: andi t2,t2,0xff |
601 ; MIPS32: sll t2,t2,0x10 | 604 ; MIPS32: sll t2,t2,0x10 |
602 ; MIPS32: lui t3,0xff00 | 605 ; MIPS32: lui t3,0xff00 |
603 ; MIPS32: ori t3,t3,0xffff | 606 ; MIPS32: ori t3,t3,0xffff |
604 ; MIPS32: and v0,v0,t3 | 607 ; MIPS32: and v0,v0,t3 |
605 ; MIPS32: or t2,t2,v0 | 608 ; MIPS32: or t2,t2,v0 |
606 ; MIPS32: srl a0,a0,0x18 | 609 ; MIPS32: srl a0,a0,0x18 |
607 ; MIPS32: » srl» a0,a0,0x18 | 610 ; MIPS32: » andi» a0,a0,0x1 |
| 611 ; MIPS32: » sll» a0,a0,0x18 |
608 ; MIPS32: sll t2,t2,0x8 | 612 ; MIPS32: sll t2,t2,0x8 |
609 ; MIPS32: srl t2,t2,0x8 | 613 ; MIPS32: srl t2,t2,0x8 |
610 ; MIPS32: or a0,a0,t2 | 614 ; MIPS32: or a0,a0,t2 |
611 ; MIPS32: move v0,a1 | 615 ; MIPS32: move v0,a1 |
612 ; MIPS32: andi v0,v0,0xff | 616 ; MIPS32: andi v0,v0,0xff |
| 617 ; MIPS32: andi v0,v0,0x1 |
613 ; MIPS32: andi v0,v0,0xff | 618 ; MIPS32: andi v0,v0,0xff |
614 ; MIPS32: srl v1,v1,0x8 | 619 ; MIPS32: srl v1,v1,0x8 |
615 ; MIPS32: sll v1,v1,0x8 | 620 ; MIPS32: sll v1,v1,0x8 |
616 ; MIPS32: or v0,v0,v1 | 621 ; MIPS32: or v0,v0,v1 |
617 ; MIPS32: move v1,a1 | 622 ; MIPS32: move v1,a1 |
618 ; MIPS32: srl v1,v1,0x8 | 623 ; MIPS32: srl v1,v1,0x8 |
619 ; MIPS32: andi v1,v1,0xff | 624 ; MIPS32: andi v1,v1,0xff |
| 625 ; MIPS32: andi v1,v1,0x1 |
620 ; MIPS32: andi v1,v1,0xff | 626 ; MIPS32: andi v1,v1,0xff |
621 ; MIPS32: sll v1,v1,0x8 | 627 ; MIPS32: sll v1,v1,0x8 |
622 ; MIPS32: lui t2,0xffff | 628 ; MIPS32: lui t2,0xffff |
623 ; MIPS32: ori t2,t2,0xff | 629 ; MIPS32: ori t2,t2,0xff |
624 ; MIPS32: and v0,v0,t2 | 630 ; MIPS32: and v0,v0,t2 |
625 ; MIPS32: or v1,v1,v0 | 631 ; MIPS32: or v1,v1,v0 |
626 ; MIPS32: move v0,a1 | 632 ; MIPS32: move v0,a1 |
627 ; MIPS32: srl v0,v0,0x10 | 633 ; MIPS32: srl v0,v0,0x10 |
628 ; MIPS32: andi v0,v0,0xff | 634 ; MIPS32: andi v0,v0,0xff |
| 635 ; MIPS32: andi v0,v0,0x1 |
629 ; MIPS32: andi v0,v0,0xff | 636 ; MIPS32: andi v0,v0,0xff |
630 ; MIPS32: sll v0,v0,0x10 | 637 ; MIPS32: sll v0,v0,0x10 |
631 ; MIPS32: lui t2,0xff00 | 638 ; MIPS32: lui t2,0xff00 |
632 ; MIPS32: ori t2,t2,0xffff | 639 ; MIPS32: ori t2,t2,0xffff |
633 ; MIPS32: and v1,v1,t2 | 640 ; MIPS32: and v1,v1,t2 |
634 ; MIPS32: or v0,v0,v1 | 641 ; MIPS32: or v0,v0,v1 |
635 ; MIPS32: srl a1,a1,0x18 | 642 ; MIPS32: srl a1,a1,0x18 |
636 ; MIPS32: » srl» a1,a1,0x18 | 643 ; MIPS32: » andi» a1,a1,0x1 |
| 644 ; MIPS32: » sll» a1,a1,0x18 |
637 ; MIPS32: sll v0,v0,0x8 | 645 ; MIPS32: sll v0,v0,0x8 |
638 ; MIPS32: srl v0,v0,0x8 | 646 ; MIPS32: srl v0,v0,0x8 |
639 ; MIPS32: or a1,a1,v0 | 647 ; MIPS32: or a1,a1,v0 |
640 ; MIPS32: move v0,a2 | 648 ; MIPS32: move v0,a2 |
641 ; MIPS32: andi v0,v0,0xff | 649 ; MIPS32: andi v0,v0,0xff |
| 650 ; MIPS32: andi v0,v0,0x1 |
642 ; MIPS32: andi v0,v0,0xff | 651 ; MIPS32: andi v0,v0,0xff |
643 ; MIPS32: srl t0,t0,0x8 | 652 ; MIPS32: srl t0,t0,0x8 |
644 ; MIPS32: sll t0,t0,0x8 | 653 ; MIPS32: sll t0,t0,0x8 |
645 ; MIPS32: or v0,v0,t0 | 654 ; MIPS32: or v0,v0,t0 |
646 ; MIPS32: move v1,a2 | 655 ; MIPS32: move v1,a2 |
647 ; MIPS32: srl v1,v1,0x8 | 656 ; MIPS32: srl v1,v1,0x8 |
648 ; MIPS32: andi v1,v1,0xff | 657 ; MIPS32: andi v1,v1,0xff |
| 658 ; MIPS32: andi v1,v1,0x1 |
649 ; MIPS32: andi v1,v1,0xff | 659 ; MIPS32: andi v1,v1,0xff |
650 ; MIPS32: sll v1,v1,0x8 | 660 ; MIPS32: sll v1,v1,0x8 |
651 ; MIPS32: lui t0,0xffff | 661 ; MIPS32: lui t0,0xffff |
652 ; MIPS32: ori t0,t0,0xff | 662 ; MIPS32: ori t0,t0,0xff |
653 ; MIPS32: and v0,v0,t0 | 663 ; MIPS32: and v0,v0,t0 |
654 ; MIPS32: or v1,v1,v0 | 664 ; MIPS32: or v1,v1,v0 |
655 ; MIPS32: move v0,a2 | 665 ; MIPS32: move v0,a2 |
656 ; MIPS32: srl v0,v0,0x10 | 666 ; MIPS32: srl v0,v0,0x10 |
657 ; MIPS32: andi v0,v0,0xff | 667 ; MIPS32: andi v0,v0,0xff |
| 668 ; MIPS32: andi v0,v0,0x1 |
658 ; MIPS32: andi v0,v0,0xff | 669 ; MIPS32: andi v0,v0,0xff |
659 ; MIPS32: sll v0,v0,0x10 | 670 ; MIPS32: sll v0,v0,0x10 |
660 ; MIPS32: lui t0,0xff00 | 671 ; MIPS32: lui t0,0xff00 |
661 ; MIPS32: ori t0,t0,0xffff | 672 ; MIPS32: ori t0,t0,0xffff |
662 ; MIPS32: and v1,v1,t0 | 673 ; MIPS32: and v1,v1,t0 |
663 ; MIPS32: or v0,v0,v1 | 674 ; MIPS32: or v0,v0,v1 |
664 ; MIPS32: srl a2,a2,0x18 | 675 ; MIPS32: srl a2,a2,0x18 |
665 ; MIPS32: » srl» a2,a2,0x18 | 676 ; MIPS32: » andi» a2,a2,0x1 |
| 677 ; MIPS32: » sll» a2,a2,0x18 |
666 ; MIPS32: sll v0,v0,0x8 | 678 ; MIPS32: sll v0,v0,0x8 |
667 ; MIPS32: srl v0,v0,0x8 | 679 ; MIPS32: srl v0,v0,0x8 |
668 ; MIPS32: or a2,a2,v0 | 680 ; MIPS32: or a2,a2,v0 |
669 ; MIPS32: move v0,a3 | 681 ; MIPS32: move v0,a3 |
670 ; MIPS32: andi v0,v0,0xff | 682 ; MIPS32: andi v0,v0,0xff |
| 683 ; MIPS32: andi v0,v0,0x1 |
671 ; MIPS32: andi v0,v0,0xff | 684 ; MIPS32: andi v0,v0,0xff |
672 ; MIPS32: srl t1,t1,0x8 | 685 ; MIPS32: srl t1,t1,0x8 |
673 ; MIPS32: sll t1,t1,0x8 | 686 ; MIPS32: sll t1,t1,0x8 |
674 ; MIPS32: or v0,v0,t1 | 687 ; MIPS32: or v0,v0,t1 |
675 ; MIPS32: move v1,a3 | 688 ; MIPS32: move v1,a3 |
676 ; MIPS32: srl v1,v1,0x8 | 689 ; MIPS32: srl v1,v1,0x8 |
677 ; MIPS32: andi v1,v1,0xff | 690 ; MIPS32: andi v1,v1,0xff |
| 691 ; MIPS32: andi v1,v1,0x1 |
678 ; MIPS32: andi v1,v1,0xff | 692 ; MIPS32: andi v1,v1,0xff |
679 ; MIPS32: sll v1,v1,0x8 | 693 ; MIPS32: sll v1,v1,0x8 |
680 ; MIPS32: lui t0,0xffff | 694 ; MIPS32: lui t0,0xffff |
681 ; MIPS32: ori t0,t0,0xff | 695 ; MIPS32: ori t0,t0,0xff |
682 ; MIPS32: and v0,v0,t0 | 696 ; MIPS32: and v0,v0,t0 |
683 ; MIPS32: or v1,v1,v0 | 697 ; MIPS32: or v1,v1,v0 |
684 ; MIPS32: move v0,a3 | 698 ; MIPS32: move v0,a3 |
685 ; MIPS32: srl v0,v0,0x10 | 699 ; MIPS32: srl v0,v0,0x10 |
686 ; MIPS32: andi v0,v0,0xff | 700 ; MIPS32: andi v0,v0,0xff |
| 701 ; MIPS32: andi v0,v0,0x1 |
687 ; MIPS32: andi v0,v0,0xff | 702 ; MIPS32: andi v0,v0,0xff |
688 ; MIPS32: sll v0,v0,0x10 | 703 ; MIPS32: sll v0,v0,0x10 |
689 ; MIPS32: lui t0,0xff00 | 704 ; MIPS32: lui t0,0xff00 |
690 ; MIPS32: ori t0,t0,0xffff | 705 ; MIPS32: ori t0,t0,0xffff |
691 ; MIPS32: and v1,v1,t0 | 706 ; MIPS32: and v1,v1,t0 |
692 ; MIPS32: or v0,v0,v1 | 707 ; MIPS32: or v0,v0,v1 |
693 ; MIPS32: srl a3,a3,0x18 | 708 ; MIPS32: srl a3,a3,0x18 |
694 ; MIPS32: » srl» a3,a3,0x18 | 709 ; MIPS32: » andi» a3,a3,0x1 |
| 710 ; MIPS32: » sll» a3,a3,0x18 |
695 ; MIPS32: sll v0,v0,0x8 | 711 ; MIPS32: sll v0,v0,0x8 |
696 ; MIPS32: srl v0,v0,0x8 | 712 ; MIPS32: srl v0,v0,0x8 |
697 ; MIPS32: or a3,a3,v0 | 713 ; MIPS32: or a3,a3,v0 |
698 } | 714 } |
699 | 715 |
700 define internal <8 x i1> @test_trunc_v8i16_to_v8i1(<8 x i16> %arg) { | 716 define internal <8 x i1> @test_trunc_v8i16_to_v8i1(<8 x i16> %arg) { |
701 entry: | 717 entry: |
702 %res = trunc <8 x i16> %arg to <8 x i1> | 718 %res = trunc <8 x i16> %arg to <8 x i1> |
703 ret <8 x i1> %res | 719 ret <8 x i1> %res |
704 | 720 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
822 ret <4 x float> %res | 838 ret <4 x float> %res |
823 | 839 |
824 ; CHECK-LABEL: test_uitofp_v4i32_to_v4f32 | 840 ; CHECK-LABEL: test_uitofp_v4i32_to_v4f32 |
825 ; X8632: call {{.*}} R_{{.*}} __Sz_uitofp_4xi32_4xf32 | 841 ; X8632: call {{.*}} R_{{.*}} __Sz_uitofp_4xi32_4xf32 |
826 ; ARM32: vcvt.f32.u32 | 842 ; ARM32: vcvt.f32.u32 |
827 ; MIPS32: cvt.s.w $f0,$f0 | 843 ; MIPS32: cvt.s.w $f0,$f0 |
828 ; MIPS32: cvt.s.w $f0,$f0 | 844 ; MIPS32: cvt.s.w $f0,$f0 |
829 ; MIPS32: cvt.s.w $f0,$f0 | 845 ; MIPS32: cvt.s.w $f0,$f0 |
830 ; MIPS32: cvt.s.w $f0,$f0 | 846 ; MIPS32: cvt.s.w $f0,$f0 |
831 } | 847 } |
OLD | NEW |