OLD | NEW |
1 ; This tries to be a comprehensive test of f32 and f64 compare operations. | 1 ; This tries to be a comprehensive test of f32 and f64 compare operations. |
2 ; The CHECK lines are only checking for basic instruction patterns | 2 ; The CHECK lines are only checking for basic instruction patterns |
3 ; that should be present regardless of the optimization level, so | 3 ; that should be present regardless of the optimization level, so |
4 ; there are no special OPTM1 match lines. | 4 ; there are no special OPTM1 match lines. |
5 | 5 |
6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 | FileCheck %s | 6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ |
7 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 | FileCheck %s | 7 ; RUN: -allow-externally-defined-symbols | FileCheck %s |
| 8 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ |
| 9 ; RUN: -allow-externally-defined-symbols | FileCheck %s |
8 | 10 |
9 ; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \ | 11 ; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \ |
10 ; RUN: --target arm32 -i %s --args -O2 --skip-unimplemented \ | 12 ; RUN: --target arm32 -i %s --args -O2 --skip-unimplemented \ |
| 13 ; RUN: -allow-externally-defined-symbols \ |
11 ; RUN: | %if --need=allow_dump --need=target_ARM32 --command FileCheck %s \ | 14 ; RUN: | %if --need=allow_dump --need=target_ARM32 --command FileCheck %s \ |
12 ; RUN: --check-prefix=ARM32 | 15 ; RUN: --check-prefix=ARM32 |
13 | 16 |
14 ; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \ | 17 ; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \ |
15 ; RUN: --target arm32 -i %s --args -Om1 --skip-unimplemented \ | 18 ; RUN: --target arm32 -i %s --args -Om1 --skip-unimplemented \ |
| 19 ; RUN: -allow-externally-defined-symbols \ |
16 ; RUN: | %if --need=allow_dump --need=target_ARM32 --command FileCheck %s \ | 20 ; RUN: | %if --need=allow_dump --need=target_ARM32 --command FileCheck %s \ |
17 ; RUN: --check-prefix=ARM32 | 21 ; RUN: --check-prefix=ARM32 |
18 | 22 |
19 define internal void @fcmpEq(float %a, float %b, double %c, double %d) { | 23 define internal void @fcmpEq(float %a, float %b, double %c, double %d) { |
20 entry: | 24 entry: |
21 %cmp = fcmp oeq float %a, %b | 25 %cmp = fcmp oeq float %a, %b |
22 br i1 %cmp, label %if.then, label %if.end | 26 br i1 %cmp, label %if.then, label %if.end |
23 | 27 |
24 if.then: ; preds = %entry | 28 if.then: ; preds = %entry |
25 call void @func() | 29 call void @func() |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 ret double %cond | 746 ret double %cond |
743 } | 747 } |
744 ; CHECK-LABEL: selectDoubleVarVar | 748 ; CHECK-LABEL: selectDoubleVarVar |
745 ; CHECK: ucomisd | 749 ; CHECK: ucomisd |
746 ; CHECK: seta | 750 ; CHECK: seta |
747 ; CHECK: fld | 751 ; CHECK: fld |
748 ; ARM32-LABEL: selectDoubleVarVar | 752 ; ARM32-LABEL: selectDoubleVarVar |
749 ; ARM32: vcmp.f64 | 753 ; ARM32: vcmp.f64 |
750 ; ARM32: vmovne.f64 d{{[0-9]+}} | 754 ; ARM32: vmovne.f64 d{{[0-9]+}} |
751 ; ARM32: bx | 755 ; ARM32: bx |
OLD | NEW |