Mercurial > projects > dstress
changeset 1037:22f348c04a9b
[Bug 173] New: incorrect size calculation for movq
<thomas-dloop@kuehne.cn>
2006-06-01
news:bug-173-3@http.d.puremagic.com/bugzilla/
author | thomask |
---|---|
date | Thu, 01 Jun 2006 17:57:27 +0000 |
parents | 8006b20664ca |
children | c35b15527bc1 |
files | nocompile/a/asm_movq_02_Q.d nocompile/a/asm_movq_02_R.d nocompile/a/asm_movq_02_S.d nocompile/a/asm_movq_02_T.d nocompile/a/asm_movq_02_U.d run/a/asm_movq_02_A.d run/a/asm_movq_02_B.d run/a/asm_movq_02_C.d run/a/asm_movq_02_D.d run/a/asm_movq_02_E.d run/a/asm_movq_02_F.d run/a/asm_movq_02_G.d run/a/asm_movq_02_H.d run/a/asm_movq_02_I.d run/a/asm_movq_02_J.d run/a/asm_movq_02_K.d run/a/asm_movq_02_L.d run/a/asm_movq_02_M.d run/a/asm_movq_02_N.d run/a/asm_movq_02_O.d run/a/asm_movq_02_P.d |
diffstat | 21 files changed, 848 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/a/asm_movq_02_Q.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,34 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +// __DSTRESS_ELINE__ 28 + +module dstress.nocompile.a.asm_movq_02_Q; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + void main(){ + haveSSE2!()(); + + double[0] a; + + asm{ + movq MM0, a; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/a/asm_movq_02_R.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,34 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +// __DSTRESS_ELINE__ 28 + +module dstress.nocompile.a.asm_movq_02_R; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + void main(){ + haveSSE2!()(); + + long[0] a; + + asm{ + movq MM0, a; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/a/asm_movq_02_S.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,34 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +// __DSTRESS_ELINE__ 28 + +module dstress.nocompile.a.asm_movq_02_S; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + void main(){ + haveSSE2!()(); + + ulong[0] a; + + asm{ + movq MM0, a; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/a/asm_movq_02_T.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,34 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +// __DSTRESS_ELINE__ 28 + +module dstress.nocompile.a.asm_movq_02_T; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + void main(){ + haveSSE2!()(); + + idouble[0] a; + + asm{ + movq MM0, a; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/a/asm_movq_02_U.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,34 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +// __DSTRESS_ELINE__ 28 + +module dstress.nocompile.a.asm_movq_02_U; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + void main(){ + haveSSE2!()(); + + cfloat[0] a; + + asm{ + movq MM0, a; + } + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_A.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_A; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const ubyte[8] A = [3, 4, 9, 0, 1, 3, 7, 2]; + ubyte[8] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_B.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_B; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const byte[8] A = [3, 4, 9, 0, 1, 3, 7, 2]; + byte[8] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_C.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_C; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const char[8] A = [3, 4, 9, 0, 1, 3, 7, 2]; + char[8] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_D.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_D; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const ushort[4] A = [3, 4, 9, 0]; + ushort[4] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_E.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_E; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const short[4] A = [3, 4, 9, 0]; + short[4] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_F.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_F; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const wchar[4] A = [3, 4, 9, 0]; + wchar[4] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_G.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_F; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const uint[2] A = [3, 4]; + uint[2] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_H.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_H; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const int[2] A = [3, 4]; + int[2] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_I.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,42 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_I; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const dchar[2] A = [3, 4]; + dchar[2] b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_J.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,43 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_J; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const float[2] A = [3.0f, 4.1f]; + float[2] b; + + asm{ + movq MM0, A; + movq b, MM0; + finit; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_K.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,43 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_K; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const ifloat[2] A = [3.0fi, 4.1fi]; + ifloat[2] b; + + asm{ + movq MM0, A; + movq b, MM0; + finit; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_L.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,43 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_L; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const idouble[1] A = [4.1i]; + idouble[1] b; + + asm{ + movq MM0, A; + movq b, MM0; + finit; + } + + for(size_t i = 0; i < A.length; i++){ + if(A[i] != b[i]){ + assert(0); + } + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_M.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,44 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_L; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const double[1] A = [4.1]; + double[1] b; + + asm{ + movq MM0, A; + movq b, MM0; + finit; + } + + if(A[0] != 4.1){ + assert(0); + } + if(b[0] != 4.1){ + assert(0); + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_N.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,44 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_N; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const double A = 4.1; + double b; + + asm{ + movq MM0, A; + movq b, MM0; + finit; + } + + if(A != 4.1){ + assert(0); + } + if(b != 4.1){ + assert(0); + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_O.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,43 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_O; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + const long A = 0x12_34_56_78_9A_BC_DE_F0; + long b; + + asm{ + movq MM0, A; + movq b, MM0; + } + + if(A != 0x12_34_56_78_9A_BC_DE_F0){ + assert(0); + } + if(b != 0x12_34_56_78_9A_BC_DE_F0){ + assert(0); + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_movq_02_P.d Thu Jun 01 17:57:27 2006 +0000 @@ -0,0 +1,40 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ <thomas-dloop@kuehne.cn> +// @date@ 2006-05-26 +// @uri@ news:bug-173-3@http.d.puremagic.com/bugzilla + +module dstress.run.a.asm_movq_02_P; + +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} + +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveSSE2!()(); + + ulong a = 0x12_34_56_78_9A_BC_DE_F0; + ulong b; + + asm{ + movq MM0, a; + movq b, MM0; + } + + if(a != b){ + assert(0); + } + + return 0; + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); + static assert(0); +}