Skip to content

Commit 272a25c

Browse files
committed
Add latest version of vcbuild directory.
Used only for the Win64 build.
1 parent aa143b5 commit 272a25c

File tree

2 files changed

+33
-23
lines changed

2 files changed

+33
-23
lines changed

vcbuild/ldfpu.asm

+23-23
Original file line numberDiff line numberDiff line change
@@ -39,27 +39,27 @@ ld_read ENDP
3939

4040
; long long ld_readll(longdouble* ld);
4141
; rcx: ld
42-
ld_readll PROC
43-
fld tbyte ptr [rcx]
44-
push rax
45-
fistp qword ptr [rsp]
46-
pop rax
47-
ret
48-
ld_readll ENDP
42+
;ld_readll PROC
43+
; fld tbyte ptr [rcx]
44+
; push rax
45+
; fistp qword ptr [rsp]
46+
; pop rax
47+
; ret
48+
;ld_readll ENDP
4949

5050
; unsigned long long ld_readull(longdouble* ld);
5151
; rcx: ld
52-
ld_readull PROC
53-
fld tbyte ptr [rcx]
54-
push rax
55-
lea rax,twoPow63
56-
fld tbyte ptr [rax]
57-
fsubp ST(1),ST(0) ; move it into signed range
58-
fistp qword ptr [rsp]
59-
pop rax
60-
btc rax,63
61-
ret
62-
ld_readull ENDP
52+
;ld_readull PROC
53+
; fld tbyte ptr [rcx]
54+
; push rax
55+
; lea rax,twoPow63
56+
; fld tbyte ptr [rax]
57+
; fsubp ST(1),ST(0) ; move it into signed range
58+
; fistp qword ptr [rsp]
59+
; pop rax
60+
; btc rax,63
61+
; ret
62+
;ld_readull ENDP
6363

6464
; void ld_set(longdouble* ld, double d);
6565
; rcx: ld
@@ -79,8 +79,8 @@ ld_set ENDP
7979
ld_setll PROC
8080
push rdx
8181
fild qword ptr [rsp]
82-
fstp tbyte ptr [rcx]
83-
pop rax
82+
fstp tbyte ptr [rcx]
83+
pop rax
8484
ret
8585
ld_setll ENDP
8686

@@ -94,8 +94,8 @@ ld_setull PROC
9494
lea rax,twoPow63
9595
fld tbyte ptr [rax]
9696
faddp ST(1),ST(0)
97-
fstp tbyte ptr [rcx]
98-
pop rax
97+
fstp tbyte ptr [rcx]
98+
pop rax
9999
ret
100100
ld_setull ENDP
101101

@@ -109,7 +109,7 @@ ld_expl PROC
109109
fscale ; ST(0) = ST(0) * (2**ST(1))
110110
fstp ST(1)
111111
fstp tbyte ptr [rcx]
112-
pop rax
112+
pop rax
113113
ret
114114
ld_expl ENDP
115115

vcbuild/warnings.h

+10
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,18 @@
1313
#pragma warning(disable:4189) // local variable is initialized but not referenced
1414
#pragma warning(disable:4102) // unreferenced label
1515
#pragma warning(disable:4800) // forcing value to bool 'true' or 'false' (performance warning)
16+
#pragma warning(disable:4804) // '+=' : unsafe use of type 'bool' in operation
1617
#pragma warning(disable:4390) // ';' : empty controlled statement found; is this the intent?
1718
#pragma warning(disable:4702) // unreachable code
1819
#pragma warning(disable:4703) // potentially uninitialized local pointer variable 'm' used
20+
#pragma warning(disable:4063) // case '0' is not a valid value for switch of enum
21+
#pragma warning(disable:4305) // 'initializing' : truncation from 'double' to 'float'
22+
#pragma warning(disable:4309) // 'initializing' : truncation of constant value
23+
#pragma warning(disable:4310) // cast truncates constant value
24+
#pragma warning(disable:4806) // '^' : unsafe operation: no value of type 'bool' promoted to type 'int' can equal the given constant
25+
#pragma warning(disable:4060) // switch statement contains no 'case' or 'default' labels
26+
#pragma warning(disable:4099) // type name first seen using 'struct' now seen using 'class'
27+
#pragma warning(disable:4725) // instruction may be inaccurate on some Pentiums
1928

2029
#ifdef _WIN64
2130
#pragma warning(disable:4366) // The result of the unary '&' operator may be unaligned
@@ -28,3 +37,4 @@
2837
#define MARS 1
2938
#define UNITTEST 1
3039
#define _M_I86 1
40+
#define DM_TARGET_CPU_X86 1

0 commit comments

Comments
 (0)