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 | 2 |
3 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ | 3 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ |
4 ; RUN: -allow-externally-defined-symbols | FileCheck %s | 4 ; RUN: -allow-externally-defined-symbols | FileCheck %s |
5 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ | 5 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ |
6 ; RUN: -allow-externally-defined-symbols | FileCheck %s \ | 6 ; RUN: -allow-externally-defined-symbols | FileCheck %s \ |
7 ; RUN: --check-prefix=CHECK-OM1 | 7 ; RUN: --check-prefix=CHECK-OM1 |
8 | 8 |
9 ; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \ | 9 ; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \ |
10 ; RUN: --target arm32 -i %s --args -O2 \ | 10 ; RUN: --target arm32 -i %s --args -O2 \ |
(...skipping 950 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
961 ; CHECK-LABEL: selectFloatVarVar | 961 ; CHECK-LABEL: selectFloatVarVar |
962 ; CHECK: movss | 962 ; CHECK: movss |
963 ; CHECK: ucomiss | 963 ; CHECK: ucomiss |
964 ; CHECK: ja | 964 ; CHECK: ja |
965 ; CHECK: movss | 965 ; CHECK: movss |
966 ; ARM32-LABEL: selectFloatVarVar | 966 ; ARM32-LABEL: selectFloatVarVar |
967 ; ARM32: vcmp.f32 | 967 ; ARM32: vcmp.f32 |
968 ; ARM32-OM1: vmovne.f32 s{{[0-9]+}} | 968 ; ARM32-OM1: vmovne.f32 s{{[0-9]+}} |
969 ; ARM32-O2: vmovmi.f32 s{{[0-9]+}} | 969 ; ARM32-O2: vmovmi.f32 s{{[0-9]+}} |
970 ; ARM32: bx | 970 ; ARM32: bx |
| 971 ; MIPS32-LABEL: selectFloatVarVar |
| 972 ; MIPS32: movn.s {{.*}} |
| 973 ; MIPS32: mov.s {{.*}} |
971 | 974 |
972 define internal double @selectDoubleVarVar(double %a, double %b) { | 975 define internal double @selectDoubleVarVar(double %a, double %b) { |
973 entry: | 976 entry: |
974 %cmp = fcmp olt double %a, %b | 977 %cmp = fcmp olt double %a, %b |
975 %cond = select i1 %cmp, double %a, double %b | 978 %cond = select i1 %cmp, double %a, double %b |
976 ret double %cond | 979 ret double %cond |
977 } | 980 } |
978 ; CHECK-LABEL: selectDoubleVarVar | 981 ; CHECK-LABEL: selectDoubleVarVar |
979 ; CHECK: movsd | 982 ; CHECK: movsd |
980 ; CHECK: ucomisd | 983 ; CHECK: ucomisd |
981 ; CHECK: ja | 984 ; CHECK: ja |
982 ; CHECK: movsd | 985 ; CHECK: movsd |
983 ; ARM32-LABEL: selectDoubleVarVar | 986 ; ARM32-LABEL: selectDoubleVarVar |
984 ; ARM32: vcmp.f64 | 987 ; ARM32: vcmp.f64 |
985 ; ARM32-OM1: vmovne.f64 d{{[0-9]+}} | 988 ; ARM32-OM1: vmovne.f64 d{{[0-9]+}} |
986 ; ARM32-O2: vmovmi.f64 d{{[0-9]+}} | 989 ; ARM32-O2: vmovmi.f64 d{{[0-9]+}} |
987 ; ARM32: bx | 990 ; ARM32: bx |
| 991 ; MIPS32-LABEL: selectDoubleVarVar |
| 992 ; MIPS32: movn.d {{.*}} |
| 993 ; MIPS32: mov.d {{.*}} |
OLD | NEW |