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 |