| OLD | NEW |
| 1 ; This tries to be a comprehensive test of i64 operations, in | 1 ; This tries to be a comprehensive test of i64 operations, in |
| 2 ; particular the patterns for lowering i64 operations into constituent | 2 ; particular the patterns for lowering i64 operations into constituent |
| 3 ; i32 operations on x86-32. | 3 ; i32 operations on x86-32. |
| 4 | 4 |
| 5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 6 ; RUN: --target x8632 -i %s --args -O2 \ | 6 ; RUN: --target x8632 -i %s --args -O2 \ |
| 7 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 7 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
| 8 | 8 |
| 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 10 ; RUN: --target x8632 -i %s --args -Om1 \ | 10 ; RUN: --target x8632 -i %s --args -Om1 \ |
| 11 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=OPTM1 %s | 11 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=OPTM1 %s |
| 12 | 12 |
| 13 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) | 13 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) |
| 14 ; once enough infrastructure is in. Also, switch to --filetype=obj | 14 ; once enough infrastructure is in. Also, switch to --filetype=obj |
| 15 ; when possible. | 15 ; when possible. |
| 16 ; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --assemble \ | 16 ; RUN: %if --need=target_ARM32 --need=allow_dump \ |
| 17 ; RUN: --command %p2i --filetype=asm --assemble \ |
| 17 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ | 18 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ |
| 18 ; RUN: | %if --need=target_ARM32 --command FileCheck --check-prefix ARM32 %s | 19 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ |
| 20 ; RUN: --command FileCheck --check-prefix ARM32 %s |
| 19 | 21 |
| 20 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 22 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
| 21 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 23 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
| 22 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 | 24 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 |
| 23 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 | 25 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 |
| 24 | 26 |
| 25 define internal i32 @ignore64BitArg(i64 %a, i32 %b, i64 %c) { | 27 define internal i32 @ignore64BitArg(i64 %a, i32 %b, i64 %c) { |
| 26 entry: | 28 entry: |
| 27 ret i32 %b | 29 ret i32 %b |
| 28 } | 30 } |
| (...skipping 1647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1676 ret void | 1678 ret void |
| 1677 } | 1679 } |
| 1678 ; The following checks are not strictly necessary since one of the RUN | 1680 ; The following checks are not strictly necessary since one of the RUN |
| 1679 ; lines actually runs the output through the assembler. | 1681 ; lines actually runs the output through the assembler. |
| 1680 ; CHECK-LABEL: icmpLt64Imm | 1682 ; CHECK-LABEL: icmpLt64Imm |
| 1681 ; CHECK-NOT: cmp 0x{{[0-9a-f]+}}, | 1683 ; CHECK-NOT: cmp 0x{{[0-9a-f]+}}, |
| 1682 ; OPTM1-LABEL: icmpLt64Imm | 1684 ; OPTM1-LABEL: icmpLt64Imm |
| 1683 ; OPTM1-NOT: cmp 0x{{[0-9a-f]+}}, | 1685 ; OPTM1-NOT: cmp 0x{{[0-9a-f]+}}, |
| 1684 ; ARM32-LABEL: icmpLt64Imm | 1686 ; ARM32-LABEL: icmpLt64Imm |
| 1685 ; ARM32-NOT: cmp #{{[0-9a-f]+}}, | 1687 ; ARM32-NOT: cmp #{{[0-9a-f]+}}, |
| OLD | NEW |