| OLD | NEW |
| 1 ; This is a test of C-level conversion operations that clang lowers | 1 ; This is a test of C-level conversion operations that clang lowers |
| 2 ; into pairs of shifts. | 2 ; into pairs of shifts. |
| 3 | 3 |
| 4 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 4 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 5 ; RUN: --target x8632 -i %s --args -O2 \ | 5 ; RUN: --target x8632 -i %s --args -O2 \ |
| 6 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 6 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
| 7 | 7 |
| 8 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 8 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 9 ; RUN: --target x8632 -i %s --args -Om1 \ | 9 ; RUN: --target x8632 -i %s --args -Om1 \ |
| 10 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 10 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
| 11 | 11 |
| 12 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) | 12 ; RUN: %if --need=target_ARM32 \ |
| 13 ; once enough infrastructure is in. Also, switch to --filetype=obj | 13 ; RUN: --command %p2i --filetype=obj \ |
| 14 ; when possible. | 14 ; RUN: --disassemble --target arm32 -i %s --args -O2 \ |
| 15 ; RUN: %if --need=target_ARM32 --need=allow_dump \ | 15 ; RUN: | %if --need=target_ARM32 \ |
| 16 ; RUN: --command %p2i --filetype=asm --assemble \ | |
| 17 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ | |
| 18 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ | |
| 19 ; RUN: --command FileCheck --check-prefix ARM32 %s | 16 ; RUN: --command FileCheck --check-prefix ARM32 %s |
| 20 | 17 |
| 21 ; RUN: %if --need=target_ARM32 --need=allow_dump \ | 18 ; RUN: %if --need=target_ARM32 \ |
| 22 ; RUN: --command %p2i --filetype=asm --assemble \ | 19 ; RUN: --command %p2i --filetype=obj \ |
| 23 ; RUN: --disassemble --target arm32 -i %s --args -Om1 --skip-unimplemented \ | 20 ; RUN: --disassemble --target arm32 -i %s --args -Om1 \ |
| 24 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ | 21 ; RUN: | %if --need=target_ARM32 \ |
| 25 ; RUN: --command FileCheck --check-prefix ARM32 %s | 22 ; RUN: --command FileCheck --check-prefix ARM32 %s |
| 26 | 23 |
| 27 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 24 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
| 28 ; RUN: --command %p2i --filetype=asm --assemble \ | 25 ; RUN: --command %p2i --filetype=asm --assemble \ |
| 29 ; RUN: --disassemble --target mips32 -i %s --args -O2 --skip-unimplemented \ | 26 ; RUN: --disassemble --target mips32 -i %s --args -O2 --skip-unimplemented \ |
| 30 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | 27 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ |
| 31 ; RUN: --command FileCheck --check-prefix MIPS32-O2 --check-prefix MIPS32 %s | 28 ; RUN: --command FileCheck --check-prefix MIPS32-O2 --check-prefix MIPS32 %s |
| 32 | 29 |
| 33 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 30 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
| 34 ; RUN: --command %p2i --filetype=asm --assemble \ | 31 ; RUN: --command %p2i --filetype=asm --assemble \ |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 290 entry: | 287 entry: |
| 291 %result = ashr i64 %val, 40 | 288 %result = ashr i64 %val, 40 |
| 292 ret i64 %result | 289 ret i64 %result |
| 293 } | 290 } |
| 294 ; CHECK-LABEL: ashrImm64GreaterThan32 | 291 ; CHECK-LABEL: ashrImm64GreaterThan32 |
| 295 ; CHECK: sar {{.*}},0x1f | 292 ; CHECK: sar {{.*}},0x1f |
| 296 ; CHECK: shrd {{.*}},0x8 | 293 ; CHECK: shrd {{.*}},0x8 |
| 297 ; MIPS32-LABEL: ashrImm64GreaterThan32 | 294 ; MIPS32-LABEL: ashrImm64GreaterThan32 |
| 298 ; MIPS32: sra {{.*}},[[VAL_HI:.*]],0x8 | 295 ; MIPS32: sra {{.*}},[[VAL_HI:.*]],0x8 |
| 299 ; MIPS32: sra {{.*}},[[VAL_HI]],0x1f | 296 ; MIPS32: sra {{.*}},[[VAL_HI]],0x1f |
| OLD | NEW |