| 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 |