mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-28 01:23:14 +01:00
Add latest version of vcbuild directory.
Used only for the Win64 build.
This commit is contained in:
@@ -39,27 +39,27 @@ ld_read ENDP
|
||||
|
||||
; long long ld_readll(longdouble* ld);
|
||||
; rcx: ld
|
||||
ld_readll PROC
|
||||
fld tbyte ptr [rcx]
|
||||
push rax
|
||||
fistp qword ptr [rsp]
|
||||
pop rax
|
||||
ret
|
||||
ld_readll ENDP
|
||||
;ld_readll PROC
|
||||
; fld tbyte ptr [rcx]
|
||||
; push rax
|
||||
; fistp qword ptr [rsp]
|
||||
; pop rax
|
||||
; ret
|
||||
;ld_readll ENDP
|
||||
|
||||
; unsigned long long ld_readull(longdouble* ld);
|
||||
; rcx: ld
|
||||
ld_readull PROC
|
||||
fld tbyte ptr [rcx]
|
||||
push rax
|
||||
lea rax,twoPow63
|
||||
fld tbyte ptr [rax]
|
||||
fsubp ST(1),ST(0) ; move it into signed range
|
||||
fistp qword ptr [rsp]
|
||||
pop rax
|
||||
btc rax,63
|
||||
ret
|
||||
ld_readull ENDP
|
||||
;ld_readull PROC
|
||||
; fld tbyte ptr [rcx]
|
||||
; push rax
|
||||
; lea rax,twoPow63
|
||||
; fld tbyte ptr [rax]
|
||||
; fsubp ST(1),ST(0) ; move it into signed range
|
||||
; fistp qword ptr [rsp]
|
||||
; pop rax
|
||||
; btc rax,63
|
||||
; ret
|
||||
;ld_readull ENDP
|
||||
|
||||
; void ld_set(longdouble* ld, double d);
|
||||
; rcx: ld
|
||||
@@ -79,8 +79,8 @@ ld_set ENDP
|
||||
ld_setll PROC
|
||||
push rdx
|
||||
fild qword ptr [rsp]
|
||||
fstp tbyte ptr [rcx]
|
||||
pop rax
|
||||
fstp tbyte ptr [rcx]
|
||||
pop rax
|
||||
ret
|
||||
ld_setll ENDP
|
||||
|
||||
@@ -94,8 +94,8 @@ ld_setull PROC
|
||||
lea rax,twoPow63
|
||||
fld tbyte ptr [rax]
|
||||
faddp ST(1),ST(0)
|
||||
fstp tbyte ptr [rcx]
|
||||
pop rax
|
||||
fstp tbyte ptr [rcx]
|
||||
pop rax
|
||||
ret
|
||||
ld_setull ENDP
|
||||
|
||||
@@ -109,7 +109,7 @@ ld_expl PROC
|
||||
fscale ; ST(0) = ST(0) * (2**ST(1))
|
||||
fstp ST(1)
|
||||
fstp tbyte ptr [rcx]
|
||||
pop rax
|
||||
pop rax
|
||||
ret
|
||||
ld_expl ENDP
|
||||
|
||||
|
||||
@@ -13,9 +13,18 @@
|
||||
#pragma warning(disable:4189) // local variable is initialized but not referenced
|
||||
#pragma warning(disable:4102) // unreferenced label
|
||||
#pragma warning(disable:4800) // forcing value to bool 'true' or 'false' (performance warning)
|
||||
#pragma warning(disable:4804) // '+=' : unsafe use of type 'bool' in operation
|
||||
#pragma warning(disable:4390) // ';' : empty controlled statement found; is this the intent?
|
||||
#pragma warning(disable:4702) // unreachable code
|
||||
#pragma warning(disable:4703) // potentially uninitialized local pointer variable 'm' used
|
||||
#pragma warning(disable:4063) // case '0' is not a valid value for switch of enum
|
||||
#pragma warning(disable:4305) // 'initializing' : truncation from 'double' to 'float'
|
||||
#pragma warning(disable:4309) // 'initializing' : truncation of constant value
|
||||
#pragma warning(disable:4310) // cast truncates constant value
|
||||
#pragma warning(disable:4806) // '^' : unsafe operation: no value of type 'bool' promoted to type 'int' can equal the given constant
|
||||
#pragma warning(disable:4060) // switch statement contains no 'case' or 'default' labels
|
||||
#pragma warning(disable:4099) // type name first seen using 'struct' now seen using 'class'
|
||||
#pragma warning(disable:4725) // instruction may be inaccurate on some Pentiums
|
||||
|
||||
#ifdef _WIN64
|
||||
#pragma warning(disable:4366) // The result of the unary '&' operator may be unaligned
|
||||
@@ -28,3 +37,4 @@
|
||||
#define MARS 1
|
||||
#define UNITTEST 1
|
||||
#define _M_I86 1
|
||||
#define DM_TARGET_CPU_X86 1
|
||||
|
||||
Reference in New Issue
Block a user