changeset 1018:1b6d9acddb76

fixed asm_pmovmskb test
author thomask
date Mon, 22 May 2006 20:17:12 +0000
parents 26f680ab52cd
children d9dbc4d0698f
files run/a/asm_pmovmskb_01_A.d run/a/pmovmskb_01_A.d
diffstat 2 files changed, 27 insertions(+), 55 deletions(-) [+]
line wrap: on
line diff
--- a/run/a/asm_pmovmskb_01_A.d	Mon May 22 20:15:24 2006 +0000
+++ b/run/a/asm_pmovmskb_01_A.d	Mon May 22 20:17:12 2006 +0000
@@ -4,25 +4,40 @@
 
 module dstress.run.a.asm_pmovmskb_01_A;
 
-int main(){
-	version(D_InlineAsm_X86){
-		static ushort[8] a = [0x8000, 0x0800, 0x0080, 0x0008, 0x0888, 0x7FFF, 0xFFFF, 0];
-		uint i;
-		
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveSSE2!()();
+
+		const ubyte Y = 0b1000_0000;
+		const ubyte N = 0b0111_1111;
+
+		const ubyte[16] A = [Y, N, Y, Y, N, N, Y, Y, Y, N, N, N, Y, N, N, Y];
+
+		int b;
+
 		asm{
-			movdqu XMM0, a;
-			mov EAX, 0xFF12_34BC;
+			mov EAX, 0x1234_5678;
+			movdqu XMM0, A;
 			pmovmskb EAX, XMM0;
-			mov i, EAX;
+			mov b, EAX;
 		}
 
-		if(i != 0b0011_0101_0001_0010){
+		if(b != 0b1011_0011_1000_1001){
 			assert(0);
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: No inline ASM support");
+	static assert(0);
 }
--- a/run/a/pmovmskb_01_A.d	Mon May 22 20:15:24 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_pmovmskb_01_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 Y = 0b1000_0000;
-		const ubyte N = 0b0111_1111;
-
-		const ubyte[16] A = [Y, N, Y, Y, N, N, Y, Y, Y, N, N, N, Y, N, N, Y];
-
-		int b;
-
-		asm{
-			mov EAX, 0x1234_5678;
-			movdqu XMM0, A;
-			pmovmskb EAX, XMM0;
-			mov b, EAX;
-		}
-
-		if(b != 0b1011_0011_1000_1001){
-			assert(0);
-		}
-
-		return 0;
-	}
-}else{
-	pragma(msg, "DSTRESS{XFAIL}: No inline ASM support");
-	static assert(0);
-}