| Index: tests_lit/llvm2ice_tests/fp.pnacl.ll
|
| diff --git a/tests_lit/llvm2ice_tests/fp.pnacl.ll b/tests_lit/llvm2ice_tests/fp.pnacl.ll
|
| index bd4db77aefa55b1d4254376bd0e6f72844b5ca36..ab2f439f78a2cd084debd3c50706efbabd807cc8 100644
|
| --- a/tests_lit/llvm2ice_tests/fp.pnacl.ll
|
| +++ b/tests_lit/llvm2ice_tests/fp.pnacl.ll
|
| @@ -3,12 +3,18 @@
|
| ; that should be present regardless of the optimization level, so
|
| ; there are no special OPTM1 match lines.
|
|
|
| -; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s
|
| -; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s
|
| +; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer
|
| +; doesn't know how to symbolize non-section-local functions.
|
| +; The newer LLVM 3.6 one does work, but watch out for other bugs.
|
| +
|
| +; RUN: %llvm2ice -O2 --verbose none %s \
|
| +; RUN: | FileCheck --check-prefix=CALLTARGETS %s
|
| ; RUN: %llvm2ice -O2 --verbose none %s \
|
| -; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj
|
| +; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \
|
| +; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s
|
| ; RUN: %llvm2ice -Om1 --verbose none %s \
|
| -; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj
|
| +; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \
|
| +; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s
|
| ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s
|
| ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s
|
| ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \
|
| @@ -24,7 +30,7 @@ entry:
|
| ret i32 %b
|
| }
|
| ; CHECK-LABEL: doubleArgs
|
| -; CHECK: mov eax, dword ptr [esp+12]
|
| +; CHECK: mov eax, dword ptr [esp + 12]
|
| ; CHECK-NEXT: ret
|
|
|
| define internal i32 @floatArgs(float %a, i32 %b, float %c) {
|
| @@ -32,7 +38,7 @@ entry:
|
| ret i32 %b
|
| }
|
| ; CHECK-LABEL: floatArgs
|
| -; CHECK: mov eax, dword ptr [esp+8]
|
| +; CHECK: mov eax, dword ptr [esp + 8]
|
| ; CHECK-NEXT: ret
|
|
|
| define internal i32 @passFpArgs(float %a, double %b, float %c, double %d, float %e, double %f) {
|
| @@ -45,14 +51,17 @@ entry:
|
| ret i32 %add3
|
| }
|
| ; CHECK-LABEL: passFpArgs
|
| -; CHECK: mov dword ptr [esp+4], 123
|
| +; CHECK: mov dword ptr [esp + 4], 123
|
| ; CHECK: call ignoreFpArgsNoInline
|
| -; CHECK: mov dword ptr [esp+4], 123
|
| +; CHECK: mov dword ptr [esp + 4], 123
|
| ; CHECK: call ignoreFpArgsNoInline
|
| -; CHECK: mov dword ptr [esp+4], 123
|
| +; CHECK: mov dword ptr [esp + 4], 123
|
| ; CHECK: call ignoreFpArgsNoInline
|
|
|
| -declare i32 @ignoreFpArgsNoInline(float, i32, double)
|
| +define i32 @ignoreFpArgsNoInline(float %x, i32 %y, double %z) {
|
| +entry:
|
| + ret i32 %y
|
| +}
|
|
|
| define internal i32 @passFpConstArg(float %a, double %b) {
|
| entry:
|
| @@ -60,7 +69,7 @@ entry:
|
| ret i32 %call
|
| }
|
| ; CHECK-LABEL: passFpConstArg
|
| -; CHECK: mov dword ptr [esp+4], 123
|
| +; CHECK: mov dword ptr [esp + 4], 123
|
| ; CHECK: call ignoreFpArgsNoInline
|
|
|
| define internal i32 @passFp32ConstArg(float %a) {
|
| @@ -69,11 +78,14 @@ entry:
|
| ret i32 %call
|
| }
|
| ; CHECK-LABEL: passFp32ConstArg
|
| -; CHECK: mov dword ptr [esp+4], 123
|
| -; CHECK: movss dword ptr [esp+8]
|
| +; CHECK: mov dword ptr [esp + 4], 123
|
| +; CHECK: movss dword ptr [esp + 8]
|
| ; CHECK: call ignoreFp32ArgsNoInline
|
|
|
| -declare i32 @ignoreFp32ArgsNoInline(float, i32, float)
|
| +define i32 @ignoreFp32ArgsNoInline(float %x, i32 %y, float %z) {
|
| +entry:
|
| + ret i32 %y
|
| +}
|
|
|
| define internal float @returnFloatArg(float %a) {
|
| entry:
|
| @@ -181,7 +193,9 @@ entry:
|
| ret float %div
|
| }
|
| ; CHECK-LABEL: remFloat
|
| -; CHECK: call fmodf
|
| +; CALLTARGETS-LABEL: remFloat
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call fmodf
|
|
|
| define internal double @remDouble(double %a, double %b) {
|
| entry:
|
| @@ -189,7 +203,9 @@ entry:
|
| ret double %div
|
| }
|
| ; CHECK-LABEL: remDouble
|
| -; CHECK: call fmod
|
| +; CALLTARGETS-LABEL: remDouble
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call fmod
|
|
|
| define internal float @fptrunc(double %a) {
|
| entry:
|
| @@ -215,7 +231,9 @@ entry:
|
| ret i64 %conv
|
| }
|
| ; CHECK-LABEL: doubleToSigned64
|
| -; CHECK: call cvtdtosi64
|
| +; CALLTARGETS-LABEL: doubleToSigned64
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtdtosi64
|
|
|
| define internal i64 @floatToSigned64(float %a) {
|
| entry:
|
| @@ -223,7 +241,9 @@ entry:
|
| ret i64 %conv
|
| }
|
| ; CHECK-LABEL: floatToSigned64
|
| -; CHECK: call cvtftosi64
|
| +; CALLTARGETS-LABEL: floatToSigned64
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtftosi64
|
|
|
| define internal i64 @doubleToUnsigned64(double %a) {
|
| entry:
|
| @@ -231,7 +251,9 @@ entry:
|
| ret i64 %conv
|
| }
|
| ; CHECK-LABEL: doubleToUnsigned64
|
| -; CHECK: call cvtdtoui64
|
| +; CALLTARGETS-LABEL: doubleToUnsigned64
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtdtoui64
|
|
|
| define internal i64 @floatToUnsigned64(float %a) {
|
| entry:
|
| @@ -239,7 +261,9 @@ entry:
|
| ret i64 %conv
|
| }
|
| ; CHECK-LABEL: floatToUnsigned64
|
| -; CHECK: call cvtftoui64
|
| +; CALLTARGETS-LABEL: floatToUnsigned64
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtftoui64
|
|
|
| define internal i32 @doubleToSigned32(double %a) {
|
| entry:
|
| @@ -263,7 +287,9 @@ entry:
|
| ret i32 %conv
|
| }
|
| ; CHECK-LABEL: doubleToUnsigned32
|
| -; CHECK: call cvtdtoui32
|
| +; CALLTARGETS-LABEL: doubleToUnsigned32
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtdtoui32
|
|
|
| define internal i32 @floatToUnsigned32(float %a) {
|
| entry:
|
| @@ -271,7 +297,10 @@ entry:
|
| ret i32 %conv
|
| }
|
| ; CHECK-LABEL: floatToUnsigned32
|
| -; CHECK: call cvtftoui32
|
| +; CALLTARGETS-LABEL: floatToUnsigned32
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtftoui32
|
| +
|
|
|
| define internal i32 @doubleToSigned16(double %a) {
|
| entry:
|
| @@ -379,7 +408,9 @@ entry:
|
| ret double %conv
|
| }
|
| ; CHECK-LABEL: signed64ToDouble
|
| -; CHECK: call cvtsi64tod
|
| +; CALLTARGETS-LABEL: signed64ToDouble
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtsi64tod
|
| ; CHECK: fstp
|
|
|
| define internal float @signed64ToFloat(i64 %a) {
|
| @@ -388,7 +419,9 @@ entry:
|
| ret float %conv
|
| }
|
| ; CHECK-LABEL: signed64ToFloat
|
| -; CHECK: call cvtsi64tof
|
| +; CALLTARGETS-LABEL: signed64ToFloat
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtsi64tof
|
| ; CHECK: fstp
|
|
|
| define internal double @unsigned64ToDouble(i64 %a) {
|
| @@ -397,7 +430,9 @@ entry:
|
| ret double %conv
|
| }
|
| ; CHECK-LABEL: unsigned64ToDouble
|
| -; CHECK: call cvtui64tod
|
| +; CALLTARGETS-LABEL: unsigned64ToDouble
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtui64tod
|
| ; CHECK: fstp
|
|
|
| define internal float @unsigned64ToFloat(i64 %a) {
|
| @@ -406,7 +441,9 @@ entry:
|
| ret float %conv
|
| }
|
| ; CHECK-LABEL: unsigned64ToFloat
|
| -; CHECK: call cvtui64tof
|
| +; CALLTARGETS-LABEL: unsigned64ToFloat
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtui64tof
|
| ; CHECK: fstp
|
|
|
| define internal double @unsigned64ToDoubleConst() {
|
| @@ -415,9 +452,11 @@ entry:
|
| ret double %conv
|
| }
|
| ; CHECK-LABEL: unsigned64ToDouble
|
| -; CHECK: mov dword ptr [esp+4], 2874
|
| +; CALLTARGETS-LABEL: unsigned64ToDouble
|
| +; CHECK: mov dword ptr [esp + 4], 2874
|
| ; CHECK: mov dword ptr [esp], 1942892530
|
| -; CHECK: call cvtui64tod
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtui64tod
|
| ; CHECK: fstp
|
|
|
| define internal double @signed32ToDouble(i32 %a) {
|
| @@ -444,7 +483,9 @@ entry:
|
| ret double %conv
|
| }
|
| ; CHECK-LABEL: unsigned32ToDouble
|
| -; CHECK: call cvtui32tod
|
| +; CALLTARGETS-LABEL: unsigned32ToDouble
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtui32tod
|
| ; CHECK: fstp
|
|
|
| define internal float @unsigned32ToFloat(i32 %a) {
|
| @@ -453,7 +494,9 @@ entry:
|
| ret float %conv
|
| }
|
| ; CHECK-LABEL: unsigned32ToFloat
|
| -; CHECK: call cvtui32tof
|
| +; CALLTARGETS-LABEL: unsigned32ToFloat
|
| +; CHECK: call -4
|
| +; CALLTARGETS: call cvtui32tof
|
| ; CHECK: fstp
|
|
|
| define internal double @signed16ToDouble(i32 %a) {
|
| @@ -578,15 +621,18 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpEq
|
| ; CHECK: ucomiss
|
| -; CHECK: jne .
|
| -; CHECK-NEXT: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK-NEXT: jp {{[0-9]}}
|
| ; CHECK: call func
|
| ; CHECK: ucomisd
|
| -; CHECK: jne .
|
| -; CHECK-NEXT: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK-NEXT: jp {{[0-9]}}
|
| ; CHECK: call func
|
|
|
| -declare void @func()
|
| +define void @func() {
|
| +entry:
|
| + ret void
|
| +}
|
|
|
| define internal void @fcmpNe(float %a, float %b, double %c, double %d) {
|
| entry:
|
| @@ -610,12 +656,12 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpNe
|
| ; CHECK: ucomiss
|
| -; CHECK: jne .
|
| -; CHECK-NEXT: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK-NEXT: jp {{[0-9]}}
|
| ; CHECK: call func
|
| ; CHECK: ucomisd
|
| -; CHECK: jne .
|
| -; CHECK-NEXT: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK-NEXT: jp {{[0-9]}}
|
| ; CHECK: call func
|
|
|
| define internal void @fcmpGt(float %a, float %b, double %c, double %d) {
|
| @@ -640,10 +686,10 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpGt
|
| ; CHECK: ucomiss
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
| ; CHECK: call func
|
| ; CHECK: ucomisd
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
| ; CHECK: call func
|
|
|
| define internal void @fcmpGe(float %a, float %b, double %c, double %d) {
|
| @@ -668,10 +714,10 @@ if.end3: ; preds = %if.end, %if.then2
|
| }
|
| ; CHECK-LABEL: fcmpGe
|
| ; CHECK: ucomiss
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
| ; CHECK: call func
|
| ; CHECK: ucomisd
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
| ; CHECK: call func
|
|
|
| define internal void @fcmpLt(float %a, float %b, double %c, double %d) {
|
| @@ -696,10 +742,10 @@ if.end3: ; preds = %if.then2, %if.end
|
| }
|
| ; CHECK-LABEL: fcmpLt
|
| ; CHECK: ucomiss
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
| ; CHECK: call func
|
| ; CHECK: ucomisd
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
| ; CHECK: call func
|
|
|
| define internal void @fcmpLe(float %a, float %b, double %c, double %d) {
|
| @@ -724,10 +770,10 @@ if.end3: ; preds = %if.end, %if.then2
|
| }
|
| ; CHECK-LABEL: fcmpLe
|
| ; CHECK: ucomiss
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
| ; CHECK: call func
|
| ; CHECK: ucomisd
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
| ; CHECK: call func
|
|
|
| define internal i32 @fcmpFalseFloat(float %a, float %b) {
|
| @@ -756,8 +802,8 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOeqFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jne .
|
| -; CHECK: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK: jp {{[0-9]}}
|
|
|
| define internal i32 @fcmpOeqDouble(double %a, double %b) {
|
| entry:
|
| @@ -767,8 +813,8 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOeqDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jne .
|
| -; CHECK: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK: jp {{[0-9]}}
|
|
|
| define internal i32 @fcmpOgtFloat(float %a, float %b) {
|
| entry:
|
| @@ -778,7 +824,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOgtFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
|
|
| define internal i32 @fcmpOgtDouble(double %a, double %b) {
|
| entry:
|
| @@ -788,7 +834,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOgtDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
|
|
| define internal i32 @fcmpOgeFloat(float %a, float %b) {
|
| entry:
|
| @@ -798,7 +844,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOgeFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jae .
|
| +; CHECK: jae {{[0-9]}}
|
|
|
| define internal i32 @fcmpOgeDouble(double %a, double %b) {
|
| entry:
|
| @@ -808,7 +854,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOgeDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jae .
|
| +; CHECK: jae {{[0-9]}}
|
|
|
| define internal i32 @fcmpOltFloat(float %a, float %b) {
|
| entry:
|
| @@ -818,7 +864,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOltFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
|
|
| define internal i32 @fcmpOltDouble(double %a, double %b) {
|
| entry:
|
| @@ -828,7 +874,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOltDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
|
|
| define internal i32 @fcmpOleFloat(float %a, float %b) {
|
| entry:
|
| @@ -838,7 +884,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOleFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jae .
|
| +; CHECK: jae {{[0-9]}}
|
|
|
| define internal i32 @fcmpOleDouble(double %a, double %b) {
|
| entry:
|
| @@ -848,7 +894,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOleDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jae .
|
| +; CHECK: jae {{[0-9]}}
|
|
|
| define internal i32 @fcmpOneFloat(float %a, float %b) {
|
| entry:
|
| @@ -858,7 +904,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOneFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jne .
|
| +; CHECK: jne {{[0-9]}}
|
|
|
| define internal i32 @fcmpOneDouble(double %a, double %b) {
|
| entry:
|
| @@ -868,7 +914,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOneDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jne .
|
| +; CHECK: jne {{[0-9]}}
|
|
|
| define internal i32 @fcmpOrdFloat(float %a, float %b) {
|
| entry:
|
| @@ -878,7 +924,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOrdFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jnp .
|
| +; CHECK: jnp {{[0-9]}}
|
|
|
| define internal i32 @fcmpOrdDouble(double %a, double %b) {
|
| entry:
|
| @@ -888,7 +934,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpOrdDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jnp .
|
| +; CHECK: jnp {{[0-9]}}
|
|
|
| define internal i32 @fcmpUeqFloat(float %a, float %b) {
|
| entry:
|
| @@ -898,7 +944,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUeqFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: je .
|
| +; CHECK: je {{[0-9]}}
|
|
|
| define internal i32 @fcmpUeqDouble(double %a, double %b) {
|
| entry:
|
| @@ -908,7 +954,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUeqDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: je .
|
| +; CHECK: je {{[0-9]}}
|
|
|
| define internal i32 @fcmpUgtFloat(float %a, float %b) {
|
| entry:
|
| @@ -918,7 +964,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUgtFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
|
|
| define internal i32 @fcmpUgtDouble(double %a, double %b) {
|
| entry:
|
| @@ -928,7 +974,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUgtDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
|
|
| define internal i32 @fcmpUgeFloat(float %a, float %b) {
|
| entry:
|
| @@ -938,7 +984,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUgeFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jbe .
|
| +; CHECK: jbe {{[0-9]}}
|
|
|
| define internal i32 @fcmpUgeDouble(double %a, double %b) {
|
| entry:
|
| @@ -948,7 +994,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUgeDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jbe .
|
| +; CHECK: jbe {{[0-9]}}
|
|
|
| define internal i32 @fcmpUltFloat(float %a, float %b) {
|
| entry:
|
| @@ -958,7 +1004,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUltFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
|
|
| define internal i32 @fcmpUltDouble(double %a, double %b) {
|
| entry:
|
| @@ -968,7 +1014,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUltDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jb .
|
| +; CHECK: jb {{[0-9]}}
|
|
|
| define internal i32 @fcmpUleFloat(float %a, float %b) {
|
| entry:
|
| @@ -978,7 +1024,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUleFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jbe .
|
| +; CHECK: jbe {{[0-9]}}
|
|
|
| define internal i32 @fcmpUleDouble(double %a, double %b) {
|
| entry:
|
| @@ -988,7 +1034,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUleDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jbe .
|
| +; CHECK: jbe {{[0-9]}}
|
|
|
| define internal i32 @fcmpUneFloat(float %a, float %b) {
|
| entry:
|
| @@ -998,8 +1044,8 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUneFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jne .
|
| -; CHECK: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK: jp {{[0-9]}}
|
|
|
| define internal i32 @fcmpUneDouble(double %a, double %b) {
|
| entry:
|
| @@ -1009,8 +1055,8 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUneDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jne .
|
| -; CHECK: jp .
|
| +; CHECK: jne {{[0-9]}}
|
| +; CHECK: jp {{[0-9]}}
|
|
|
| define internal i32 @fcmpUnoFloat(float %a, float %b) {
|
| entry:
|
| @@ -1020,7 +1066,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUnoFloat
|
| ; CHECK: ucomiss
|
| -; CHECK: jp .
|
| +; CHECK: jp {{[0-9]}}
|
|
|
| define internal i32 @fcmpUnoDouble(double %a, double %b) {
|
| entry:
|
| @@ -1030,7 +1076,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: fcmpUnoDouble
|
| ; CHECK: ucomisd
|
| -; CHECK: jp .
|
| +; CHECK: jp {{[0-9]}}
|
|
|
| define internal i32 @fcmpTrueFloat(float %a, float %b) {
|
| entry:
|
| @@ -1118,7 +1164,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: selectFloatVarVar
|
| ; CHECK: ucomiss
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
| ; CHECK: fld
|
|
|
| define internal double @selectDoubleVarVar(double %a, double %b) {
|
| @@ -1129,7 +1175,7 @@ entry:
|
| }
|
| ; CHECK-LABEL: selectDoubleVarVar
|
| ; CHECK: ucomisd
|
| -; CHECK: ja .
|
| +; CHECK: ja {{[0-9]}}
|
| ; CHECK: fld
|
|
|
| ; ERRORS-NOT: ICE translation error
|
|
|