| Index: tests_lit/llvm2ice_tests/fp.cmp.ll
|
| diff --git a/tests_lit/llvm2ice_tests/fp.cmp.ll b/tests_lit/llvm2ice_tests/fp.cmp.ll
|
| index 427a82c059901b15784eaaa964316d8836b49e29..3feca8918ae656f69a802fd1fa4966afd7268c65 100644
|
| --- a/tests_lit/llvm2ice_tests/fp.cmp.ll
|
| +++ b/tests_lit/llvm2ice_tests/fp.cmp.ll
|
| @@ -6,7 +6,8 @@
|
| ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \
|
| ; RUN: -allow-externally-defined-symbols | FileCheck %s
|
| ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \
|
| -; RUN: -allow-externally-defined-symbols | FileCheck %s
|
| +; RUN: -allow-externally-defined-symbols | FileCheck %s \
|
| +; RUN: --check-prefix=CHECK-OM1
|
|
|
| ; RUN: %if --need=allow_dump --need=target_ARM32 --command %p2i --filetype=asm \
|
| ; RUN: --target arm32 -i %s --args -O2 \
|
| @@ -42,13 +43,21 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpEq
|
| ; CHECK: ucomiss
|
| -; CHECK: jne
|
| +; CHECK-NEXT: jne
|
| ; CHECK-NEXT: jp
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| ; CHECK: ucomisd
|
| -; CHECK: jne
|
| +; CHECK-NEXT: jne
|
| ; CHECK-NEXT: jp
|
| ; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1-LABEL: fcmpEq
|
| +; CHECK-OM1: ucomiss
|
| +; CHECK-OM1: jne
|
| +; CHECK-OM1-NEXT: jp
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1: ucomisd
|
| +; CHECK-OM1: jne
|
| +; CHECK-NEXT-OM1: jp
|
| ; ARM32-LABEL: fcmpEq
|
| ; ARM32: vcmp.f32
|
| ; ARM32: vmrs
|
| @@ -86,13 +95,26 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpNe
|
| ; CHECK: ucomiss
|
| -; CHECK: jne
|
| +; CHECK-NEXT: jne
|
| ; CHECK-NEXT: jp
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jmp
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| ; CHECK: ucomisd
|
| -; CHECK: jne
|
| +; CHECK-NEXT: jne
|
| ; CHECK-NEXT: jp
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jmp
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1-LABEL: fcmpNe
|
| +; CHECK-OM1: ucomiss
|
| +; CHECK-OM1: jne
|
| +; CHECK-OM1: jp
|
| +; CHECK-OM1: jmp
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1: ucomisd
|
| +; CHECK-OM1: jne
|
| +; CHECK-OM1: jp
|
| +; CHECK-OM1: jmp
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| ; ARM32-LABEL: fcmpNe
|
| ; ARM32: vcmp.f32
|
| ; ARM32: vmrs
|
| @@ -127,11 +149,18 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpGt
|
| ; CHECK: ucomiss
|
| -; CHECK: seta
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jbe
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| ; CHECK: ucomisd
|
| -; CHECK: seta
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jbe
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1-LABEL: fcmpGt
|
| +; CHECK-OM1: ucomiss
|
| +; CHECK-OM1: seta
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1: ucomisd
|
| +; CHECK-OM1: seta
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| ; ARM32-LABEL: fcmpGt
|
| ; ARM32: vcmp.f32
|
| ; ARM32: vmrs
|
| @@ -166,11 +195,18 @@ if.end3: ; preds = %if.end, %if.then2
|
| }
|
| ; CHECK-LABEL: fcmpGe
|
| ; CHECK: ucomiss
|
| -; CHECK: setb
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jb
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| ; CHECK: ucomisd
|
| -; CHECK: setb
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jb
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1-LABEL: fcmpGe
|
| +; CHECK-OM1: ucomiss
|
| +; CHECK-OM1-NEXT: setb
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1: ucomisd
|
| +; CHECK-OM1-NEXT: setb
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| ; ARM32-LABEL: fcmpGe
|
| ; ARM32: vcmp.f32
|
| ; ARM32: vmrs
|
| @@ -205,11 +241,18 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpLt
|
| ; CHECK: ucomiss
|
| -; CHECK: seta
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jbe
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| ; CHECK: ucomisd
|
| -; CHECK: seta
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jbe
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1-LABEL: fcmpLt
|
| +; CHECK-OM1: ucomiss
|
| +; CHECK-OM1-NEXT: seta
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1: ucomisd
|
| +; CHECK-OM1-NEXT: seta
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| ; ARM32-LABEL: fcmpLt
|
| ; ARM32: vcmp.f32
|
| ; ARM32: vmrs
|
| @@ -244,11 +287,18 @@ if.end3: ; preds = %if.end, %if.then2
|
| }
|
| ; CHECK-LABEL: fcmpLe
|
| ; CHECK: ucomiss
|
| -; CHECK: setb
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jb
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| ; CHECK: ucomisd
|
| -; CHECK: setb
|
| -; CHECK: call {{.*}} R_{{.*}} func
|
| +; CHECK-NEXT: jb
|
| +; CHECK-NEXT: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1-LABEL: fcmpLe
|
| +; CHECK-OM1: ucomiss
|
| +; CHECK-OM1-NEXT: setb
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| +; CHECK-OM1: ucomisd
|
| +; CHECK-OM1-NEXT: setb
|
| +; CHECK-OM1: call {{.*}} R_{{.*}} func
|
| ; ARM32-LABEL: fcmpLe
|
| ; ARM32: vcmp.f32
|
| ; ARM32: vmrs
|
|
|