This adds a "colocated" flag to function and symbolic global variables which indicates that they are defined along with the current function, so they can use PC-relative addressing. This also changes the function decl syntax; the name now always precedes the signature, and the "function" keyword is no longer included.
17 lines
379 B
Plaintext
17 lines
379 B
Plaintext
test legalizer
|
|
|
|
; Pre-SSE 4.1, we need to use runtime library calls for floating point rounding operations.
|
|
set is_64bit
|
|
set is_pic
|
|
isa x86
|
|
|
|
function %floor(f32) -> f32 {
|
|
ebb0(v0: f32):
|
|
v1 = floor v0
|
|
return v1
|
|
}
|
|
; check: function %floor(f32 [%xmm0]) -> f32 [%xmm0] system_v {
|
|
; check: sig0 = (f32) -> f32 system_v
|
|
; check: fn0 = %FloorF32 sig0
|
|
; check: v1 = call fn0(v0)
|