cpu.x86.32: clean up %unary/binary-float-function
parent
7ff309d50e
commit
db5b33977b
|
@ -186,34 +186,27 @@ M: x86.32 %end-callback ( -- )
|
||||||
0 save-vm-ptr
|
0 save-vm-ptr
|
||||||
"end_callback" f %alien-invoke ;
|
"end_callback" f %alien-invoke ;
|
||||||
|
|
||||||
GENERIC: float-function-param ( stack-slot dst src -- )
|
GENERIC: float-function-param ( n dst src -- )
|
||||||
|
|
||||||
M:: spill-slot float-function-param ( stack-slot dst src -- )
|
M:: spill-slot float-function-param ( n dst src -- )
|
||||||
! We can clobber dst here since its going to contain the
|
! We can clobber dst here since its going to contain the
|
||||||
! final result
|
! final result
|
||||||
dst src double-rep %copy
|
dst src double-rep %copy
|
||||||
stack-slot dst double-rep %copy ;
|
dst n double-rep %store-stack-param ;
|
||||||
|
|
||||||
M: register float-function-param
|
M:: register float-function-param ( n dst src -- )
|
||||||
nip double-rep %copy ;
|
src n double-rep %store-stack-param ;
|
||||||
|
|
||||||
: float-function-return ( reg -- )
|
|
||||||
ESP [] FSTPL
|
|
||||||
ESP [] MOVSD
|
|
||||||
ESP 16 ADD ;
|
|
||||||
|
|
||||||
M:: x86.32 %unary-float-function ( dst src func -- )
|
M:: x86.32 %unary-float-function ( dst src func -- )
|
||||||
ESP -16 [+] dst src float-function-param
|
0 dst src float-function-param
|
||||||
ESP 16 SUB
|
|
||||||
func "libm" load-library %alien-invoke
|
func "libm" load-library %alien-invoke
|
||||||
dst float-function-return ;
|
dst double-rep %load-return ;
|
||||||
|
|
||||||
M:: x86.32 %binary-float-function ( dst src1 src2 func -- )
|
M:: x86.32 %binary-float-function ( dst src1 src2 func -- )
|
||||||
ESP -16 [+] dst src1 float-function-param
|
0 dst src1 float-function-param
|
||||||
ESP -8 [+] dst src2 float-function-param
|
8 dst src2 float-function-param
|
||||||
ESP 16 SUB
|
|
||||||
func "libm" load-library %alien-invoke
|
func "libm" load-library %alien-invoke
|
||||||
dst float-function-return ;
|
dst double-rep %load-return ;
|
||||||
|
|
||||||
: funny-large-struct-return? ( return abi -- ? )
|
: funny-large-struct-return? ( return abi -- ? )
|
||||||
#! MINGW ABI incompatibility disaster
|
#! MINGW ABI incompatibility disaster
|
||||||
|
|
Loading…
Reference in New Issue