Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Side by Side Diff: tests_lit/llvm2ice_tests/fp.cmp.ll

Issue 1497033002: Fuse icmp/fcmp with select (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Code review changes. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 797 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 ; ARM32-LABEL: fcmpTrueDouble 808 ; ARM32-LABEL: fcmpTrueDouble
809 ; ARM32: mov {{r[0-9]+}}, #1 809 ; ARM32: mov {{r[0-9]+}}, #1
810 810
811 define internal float @selectFloatVarVar(float %a, float %b) { 811 define internal float @selectFloatVarVar(float %a, float %b) {
812 entry: 812 entry:
813 %cmp = fcmp olt float %a, %b 813 %cmp = fcmp olt float %a, %b
814 %cond = select i1 %cmp, float %a, float %b 814 %cond = select i1 %cmp, float %a, float %b
815 ret float %cond 815 ret float %cond
816 } 816 }
817 ; CHECK-LABEL: selectFloatVarVar 817 ; CHECK-LABEL: selectFloatVarVar
818 ; CHECK: movss
818 ; CHECK: ucomiss 819 ; CHECK: ucomiss
819 ; CHECK: seta 820 ; CHECK: ja
820 ; CHECK: fld 821 ; CHECK: movss
821 ; ARM32-LABEL: selectFloatVarVar 822 ; ARM32-LABEL: selectFloatVarVar
822 ; ARM32: vcmp.f32 823 ; ARM32: vcmp.f32
823 ; ARM32-OM1: vmovne.f32 s{{[0-9]+}} 824 ; ARM32-OM1: vmovne.f32 s{{[0-9]+}}
824 ; ARM32-O2: vmovmi.f32 s{{[0-9]+}} 825 ; ARM32-O2: vmovmi.f32 s{{[0-9]+}}
825 ; ARM32: bx 826 ; ARM32: bx
826 827
827 define internal double @selectDoubleVarVar(double %a, double %b) { 828 define internal double @selectDoubleVarVar(double %a, double %b) {
828 entry: 829 entry:
829 %cmp = fcmp olt double %a, %b 830 %cmp = fcmp olt double %a, %b
830 %cond = select i1 %cmp, double %a, double %b 831 %cond = select i1 %cmp, double %a, double %b
831 ret double %cond 832 ret double %cond
832 } 833 }
833 ; CHECK-LABEL: selectDoubleVarVar 834 ; CHECK-LABEL: selectDoubleVarVar
835 ; CHECK: movsd
834 ; CHECK: ucomisd 836 ; CHECK: ucomisd
835 ; CHECK: seta 837 ; CHECK: ja
836 ; CHECK: fld 838 ; CHECK: movsd
837 ; ARM32-LABEL: selectDoubleVarVar 839 ; ARM32-LABEL: selectDoubleVarVar
838 ; ARM32: vcmp.f64 840 ; ARM32: vcmp.f64
839 ; ARM32-OM1: vmovne.f64 d{{[0-9]+}} 841 ; ARM32-OM1: vmovne.f64 d{{[0-9]+}}
840 ; ARM32-O2: vmovmi.f64 d{{[0-9]+}} 842 ; ARM32-O2: vmovmi.f64 d{{[0-9]+}}
841 ; ARM32: bx 843 ; ARM32: bx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698