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);
+}