Legalize libcall signatures.

Explicitly legalize signatures created for libcalls.
This commit is contained in:
Dan Gohman
2018-05-29 14:11:20 -07:00
parent d8eaa19dda
commit c21af29c79
7 changed files with 41 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ test legalizer
; Pre-SSE 4.1, we need to use runtime library calls for floating point rounding operations.
set is_64bit
set is_pic
set call_conv=system_v
isa x86
function %floor(f32) -> f32 {
@@ -11,6 +12,6 @@ ebb0(v0: f32):
return v1
}
; check: function %floor(f32 [%xmm0]) -> f32 [%xmm0] fast {
; check: sig0 = (f32) -> f32 fast
; check: sig0 = (f32 [%xmm0]) -> f32 [%xmm0] system_v
; check: fn0 = %FloorF32 sig0
; check: v1 = call fn0(v0)

View File

@@ -4,9 +4,15 @@ test compile
set is_64bit=0
isa x86 haswell
set is_64bit=0
isa x86 baseline
set is_64bit=1
isa x86 haswell
set is_64bit=1
isa x86 baseline
; Constants.
function %f32_const() -> f32 {

View File

@@ -4,6 +4,9 @@ test compile
set is_64bit=1
isa x86 haswell
set is_64bit=1
isa x86 baseline
; Constants.
function %f64_const() -> f64 {

View File

@@ -4,9 +4,15 @@ test compile
set is_64bit=0
isa x86 haswell
set is_64bit=0
isa x86 baseline
set is_64bit=1
isa x86 haswell
set is_64bit=1
isa x86 baseline
; Constants.
function %i32_const() -> i32 {

View File

@@ -4,6 +4,9 @@ test compile
set is_64bit=1
isa x86 haswell
set is_64bit=1
isa x86 baseline
; Constants.
function %i64_const() -> i64 {