Mercurial > projects > dstress
changeset 1279:23fe17e22a63
partial review
author | thomask |
---|---|
date | Mon, 25 Dec 2006 15:07:48 +0000 |
parents | b644bef333ff |
children | a0be8cc7caa3 |
files | addon/cpuinfo.d run/d/delete_13_B.d run/d/delete_14_A.d run/d/delete_14_B.d run/d/double_27_C.d run/d/double_27_D.d run/o/odd_bug_05_A.d run/o/odd_bug_05_B.d run/o/odd_bug_05_C.d run/o/odd_bug_05_D.d |
diffstat | 10 files changed, 21 insertions(+), 225 deletions(-) [+] |
line wrap: on
line diff
--- a/addon/cpuinfo.d Sat Dec 23 19:47:26 2006 +0000 +++ b/addon/cpuinfo.d Mon Dec 25 15:07:48 2006 +0000 @@ -35,7 +35,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, 0x8000_0001; + db 0x53; cpuid; + db 0x5B; mov a, EDX; } }else{ @@ -55,7 +57,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, 1; + db 0x53; cpuid; + db 0x5B; mov a, EDX; } }else{ @@ -74,7 +78,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, 1; + db 0x53; cpuid; + db 0x5B; mov a, EDX; } } @@ -91,7 +97,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, 1; + db 0x53; cpuid; + db 0x5B; mov a, EDX; } }else{ @@ -111,7 +119,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, 1; + db 0x53; cpuid; + db 0x5B; mov a, EDX; } }else{ @@ -131,7 +141,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, 1; + db 0x53; cpuid; + db 0x5B; mov a, EDX; } }else{ @@ -151,7 +163,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, 1; + db 0x53; cpuid; + db 0x5B; mov a, EDX; } }else{ @@ -172,7 +186,9 @@ version(haveX86InlineAsm){ asm{ mov EAX, a; + db 0x53; cpuid; + db 0x5B; mov b, ECX; } }else{
--- a/run/d/delete_13_B.d Sat Dec 23 19:47:26 2006 +0000 +++ b/run/d/delete_13_B.d Mon Dec 25 15:07:48 2006 +0000 @@ -5,7 +5,7 @@ module dstess.run.d.delete_13_B; int main(){ - int* i = new int[3]; + int* i = (new int[3]).ptr; delete i; return 0; }
--- a/run/d/delete_14_A.d Sat Dec 23 19:47:26 2006 +0000 +++ b/run/d/delete_14_A.d Mon Dec 25 15:07:48 2006 +0000 @@ -10,7 +10,7 @@ class Foo{ new (size_t s){ - return new byte[s]; + return (new byte[s]).ptr; } delete(void* p){
--- a/run/d/delete_14_B.d Sat Dec 23 19:47:26 2006 +0000 +++ b/run/d/delete_14_B.d Mon Dec 25 15:07:48 2006 +0000 @@ -13,7 +13,7 @@ } new (size_t s){ - return new byte[s]; + return (new byte[s]).ptr; } delete(void* p){
--- a/run/d/double_27_C.d Sat Dec 23 19:47:26 2006 +0000 +++ b/run/d/double_27_C.d Mon Dec 25 15:07:48 2006 +0000 @@ -19,7 +19,7 @@ int main (){ const double values[] = [0.1e-100, 1.0, -1.0, 0.0]; - if(func(values) != 0.1e-100){ + if(func(values.ptr) != 0.1e-100){ assert(0); }
--- a/run/d/double_27_D.d Sat Dec 23 19:47:26 2006 +0000 +++ b/run/d/double_27_D.d Mon Dec 25 15:07:48 2006 +0000 @@ -19,7 +19,7 @@ int main (){ const double values[] = [double.max, 2.0, 0.5, 1.0]; - if(func(values) != double.max){ + if(func(values.ptr) != double.max){ assert(0); }
--- a/run/o/odd_bug_05_A.d Sat Dec 23 19:47:26 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// @author@ <thomas-dloop@kuehne.cn> -// @date@ 2006-07-02 -// @uri@ news:bug-234-3@http.d.puremagic.com/issues/ - -module dstress.run.o.odd_bug_05_A; - -version(D_InlineAsm_X86){ - version = runTest; -}else version(D_InlineAsm_X86_64){ - version = runTest; -} - -version(runTest){ - import addon.cpuinfo; - - int main(){ - haveSSE!()(); - - float[] a = new float[4]; - a[0] = 1.0f; - a[1] = 0.2f; - a[2] = 3.0f; - a[3] = 0.4f; - - float[] b = new float[4]; - - asm{ - movups XMM0, a; - movups b, XMM0; - emms; - } - - if(a[0] != b[0]){ - assert(0); - } - if(a[1] != b[1]){ - assert(0); - } - if(a[2] != b[2]){ - assert(0); - } - if(a[3] != b[3]){ - assert(0); - } - - return 0; - } -}else{ - pragma(msg, "DSTRESS{XPASS}: no inline ASM support"); - static assert(0); -}
--- a/run/o/odd_bug_05_B.d Sat Dec 23 19:47:26 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// @author@ <thomas-dloop@kuehne.cn> -// @date@ 2006-07-02 -// @uri@ news:bug-234-3@http.d.puremagic.com/issues/ - -module dstress.run.o.odd_bug_05_B; - -version(D_InlineAsm_X86){ - version = runTest; -}else version(D_InlineAsm_X86_64){ - version = runTest; -} - -version(runTest){ - import addon.cpuinfo; - - int main(){ - haveSSE!()(); - - float[4] a; - a[0] = 1.0f; - a[1] = 0.2f; - a[2] = 3.0f; - a[3] = 0.4f; - - float[4] b; - - asm{ - movups XMM0, a; - movups b, XMM0; - emms; - } - - if(a[0] != b[0]){ - assert(0); - } - if(a[1] != b[1]){ - assert(0); - } - if(a[2] != b[2]){ - assert(0); - } - if(a[3] != b[3]){ - assert(0); - } - - return 0; - } -}else{ - pragma(msg, "DSTRESS{XPASS}: no inline ASM support"); - static assert(0); -}
--- a/run/o/odd_bug_05_C.d Sat Dec 23 19:47:26 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// @author@ <thomas-dloop@kuehne.cn> -// @date@ 2006-07-02 -// @uri@ news:bug-234-3@http.d.puremagic.com/issues/ - -module dstress.run.o.odd_bug_05_C; - -version(D_InlineAsm_X86){ - version = runTest; -}else version(D_InlineAsm_X86_64){ - version = runTest; -} - -version(runTest){ - import addon.cpuinfo; - - int main(){ - haveSSE!()(); - - float[] a = new float[4]; - a[0] = 1.0f; - a[1] = 2.0f; - a[2] = 3.0f; - a[3] = 4.0f; - - asm{ - movups XMM0, a; - movups a, XMM0; - emms; - } - - if(a[0] != 1.0f){ - assert(0); - } - if(a[1] != 2.0f){ - assert(0); - } - if(a[2] != 3.0f){ - assert(0); - } - if(a[3] != 4.0f){ - assert(0); - } - - return 0; - } -}else{ - pragma(msg, "DSTRESS{XPASS}: no inline ASM support"); - static assert(0); -}
--- a/run/o/odd_bug_05_D.d Sat Dec 23 19:47:26 2006 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// @author@ <thomas-dloop@kuehne.cn> -// @date@ 2006-07-02 -// @uri@ news:bug-234-3@http.d.puremagic.com/issues/ - -module dstress.run.o.odd_bug_05_D; - -version(D_InlineAsm_X86){ - version = runTest; -}else version(D_InlineAsm_X86_64){ - version = runTest; -} - -version(runTest){ - import addon.cpuinfo; - - int main(){ - haveSSE!()(); - - float[] a = new float[4]; - a[0] = 1.0f; - a[1] = 0.2f; - a[2] = 3.0f; - a[3] = 0.4f; - - float[] b = new float[4]; - - float[] dummy = new float[4]; - - asm{ - movups XMM0, a; - movups b, XMM0; - emms; - } - - if(a[0] != b[0]){ - assert(0); - } - if(a[1] != b[1]){ - assert(0); - } - if(a[2] != b[2]){ - assert(0); - } - if(a[3] != b[3]){ - assert(0); - } - - return 0; - } -}else{ - pragma(msg, "DSTRESS{XPASS}: no inline ASM support"); - static assert(0); -}