changeset 1063:4c41b782a14e

pre 0.162 review
author thomask
date Sun, 02 Jul 2006 10:53:29 +0000
parents 7360e428ad73
children 2d96dd3c16c3
files run/a/asm_addpd_01_A.d run/a/asm_addps_01_A.d run/a/asm_addsd_01_A.d run/a/asm_addss_01_A.d run/a/asm_addsubpd_01_A.d run/a/asm_addsubps_01_A.d run/a/asm_ah_01.d run/a/asm_ah_02_P.d run/a/asm_al_01.d run/a/asm_and_01_A.d run/a/asm_and_01_B.d run/a/asm_and_01_C.d run/a/asm_and_02_A.d run/a/asm_and_02_B.d run/a/asm_and_02_C.d run/a/asm_and_03_A.d run/a/asm_and_03_B.d run/a/asm_and_04_A.d run/a/asm_and_04_B.d run/a/asm_and_04_C.d run/a/asm_ax_01.d run/a/asm_ax_02.d run/a/asm_bh_01.d run/a/asm_bl_01.d run/a/asm_bsf_01_A.d run/a/asm_bsf_01_B.d run/a/asm_bsf_02_A.d run/a/asm_bsf_02_B.d run/a/asm_bsr_01_A.d run/a/asm_bsr_01_B.d run/a/asm_bsr_02_A.d run/a/asm_bsr_02_B.d run/a/asm_bswap_01.d run/a/asm_bt_01_A.d run/a/asm_bt_01_B.d run/a/asm_bt_02_A.d run/a/asm_bt_02_B.d run/a/asm_btc_01_A.d run/a/asm_btc_01_B.d run/a/asm_btc_02_A.d run/a/asm_btc_02_B.d run/a/asm_btr_01_A.d run/a/asm_btr_01_B.d run/a/asm_btr_02_A.d run/a/asm_btr_02_B.d run/a/asm_bts_01_A.d run/a/asm_bts_01_B.d run/a/asm_bts_02_A.d run/a/asm_bts_02_B.d run/a/asm_bx_01.d run/a/asm_bx_02.d run/a/asm_cbw_01.d run/a/asm_cdq_01.d run/a/asm_ch_01.d run/a/asm_cl_01.d run/a/asm_clc_01.d
diffstat 56 files changed, 594 insertions(+), 451 deletions(-) [+]
line wrap: on
line diff
--- a/run/a/asm_addpd_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_addpd_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -25,7 +25,6 @@
 		b[1] = -2.4;
 
 		asm{
-			emms;
 			movupd XMM0, a;
 			movupd XMM1, b;
 			addpd XMM0, XMM1;
--- a/run/a/asm_addps_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_addps_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,56 +10,69 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
-		static float[4] A = [1.0f, 20.0f, 0.4f, 1.0f];
-		static float[4] B = [4.0f, 10.0f, 4.0f, -1.0f];
-		float[4] c;
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveSSE!()();
+		
+		float[] a = new float[4];
+		a[0] = 1.0f;
+		a[1] = 20.0f;
+		a[2] = 0.4f;
+		a[3] = 1.0f;
+		
+		float[] b = new float[4];
+		b[0] = 4.0f;
+		b[1] = 10.0f;
+		b[2] = 4.0f;
+		b[3] = -1.0f;
 
 		asm{
-			movups XMM0, A;
-			movups XMM1, B;
+			movups XMM0, a;
+			movups XMM1, b;
 			addps XMM0, XMM1;
-			movups c, XMM0;
+			movups b, XMM0;
+			emms;
 		}
 
-		c[0] -= 5.0f;
-		if(c[0] < 0.0){
-			c[0] = -c[0];
+		b[0] -= 5.0f;
+		if(b[0] < 0.0){
+			b[0] = -b[0];
 		}
 
-		if(c[0] > float.epsilon * 16){
+		if(b[0] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[1] -= 30.0f;
-		if(c[1] < 0.0){
-			c[1] = -c[1];
+		b[1] -= 30.0f;
+		if(b[1] < 0.0){
+			b[1] = -b[1];
 		}
 
-		if(c[1] > float.epsilon * 16){
+		if(b[1] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[2] -= 4.4f;
-		if(c[2] < 0.0){
-			c[2] = -c[2];
+		b[2] -= 4.4f;
+		if(b[2] < 0.0){
+			b[2] = -b[2];
 		}
 
-		if(c[2] > float.epsilon * 16){
+		if(b[2] > float.epsilon * 16){
 			assert(0);
 		}
 
-		if(c[3] < 0.0){
-			c[3] = -c[3];
+		if(b[3] < 0.0){
+			b[3] = -b[3];
 		}
 
-		if(c[3] > float.epsilon * 16){
+		if(b[3] > float.epsilon * 16){
 			assert(0);
 		}
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no Inline asm support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no Inline asm support");
+	static assert(0);
 }
--- a/run/a/asm_addsd_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_addsd_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,36 +10,45 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
-		static double[2] A = [1.0, 20.0];
-		static double[2] B = [4.0, 10.0];
-		double[2] c;
+version(runTest){
+	import addon.cpuinfo;
+	
+	int main(){
+		haveSSE2!()();
+		
+		double[] a = new double[2];
+		a[0] = 1.0;
+		a[1] = 20.0;
+		
+		double[] b = new double[2];
+		b[0] = 4.0;
+		b[1] = 10.0;
 
 		asm{
-			movupd XMM0, A;
-			movupd XMM1, B;
+			movupd XMM0, a;
+			movupd XMM1, b;
 			addsd XMM0, XMM1;
-			movupd c, XMM0;
+			movupd b, XMM0;
+			emms;
 		}
 
-		c[0] -= 5.0;
-		if(c[0] < 0.0){
-			c[0] = -c[0];
+		b[0] -= 5.0;
+		if(b[0] < 0.0){
+			b[0] = -b[0];
 		}
 
-		if(c[0] > double.epsilon * 16){
+		if(b[0] > double.epsilon * 16){
 			assert(0);
 		}
 
-		c[1] -= 20.0;
-		if(c[1] < 0.0){
-			c[1] = -c[1];
+		b[1] -= 20.0;
+		if(b[1] < 0.0){
+			b[1] = -b[1];
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_addss_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_addss_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,57 +10,70 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
-		static float[4] A = [1.0f, 20.0f, 0.4f, 2.0f];
-		static float[4] B = [4.0f, 10.0f, -4.0f, -0.4f];
-		float[4] c;
+version(runTest){
+	import addon.cpuinfo;
+	
+	int main(){
+		haveSSE!()();
+		
+		float[] a = new float[4];
+		a[0] = 1.0f;
+		a[1] = 20.0f;
+		a[2] = 0.4f;
+		a[3] = 2.0f;
+		
+		float[] b = new float[4];
+		b[0] = 4.0f;
+		b[1] = 10.0f;
+		b[2] = -4.0f;
+		b[3] = -0.4f;
 
 		asm{
-			movups XMM0, A;
-			movups XMM1, B;
+			movups XMM0, a;
+			movups XMM1, b;
 			addss XMM0, XMM1;
-			movups c, XMM0;
+			movups b, XMM0;
+			emms;
 		}
 
-		c[0] -= 5.0f;
-		if(c[0] < 0.0){
-			c[0] = -c[0];
+		b[0] -= 5.0f;
+		if(b[0] < 0.0){
+			b[0] = -b[0];
 		}
 
-		if(c[0] > float.epsilon * 16){
+		if(b[0] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[1] -= 20.0f;
-		if(c[1] < 0.0){
-			c[1] = -c[1];
+		b[1] -= 20.0f;
+		if(b[1] < 0.0){
+			b[1] = -b[1];
 		}
 
-		if(c[1] > float.epsilon * 16){
+		if(b[1] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[2] -= 0.4f;
-		if(c[2] < 0.0){
-			c[2] = -c[2];
+		b[2] -= 0.4f;
+		if(b[2] < 0.0){
+			b[2] = -b[2];
 		}
 
-		if(c[2] > float.epsilon * 16){
+		if(b[2] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[3] -= 2.0f;
-		if(c[3] < 0.0){
-			c[3] = -c[3];
+		b[3] -= 2.0f;
+		if(b[3] < 0.0){
+			b[3] = -b[3];
 		}
 
-		if(c[3] > float.epsilon * 16){
+		if(b[3] > float.epsilon * 16){
 			assert(0);
 		}
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_addsubpd_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_addsubpd_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,39 +10,49 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
-		static double[2] A = [1.0, 30.0];
-		static double[2] B = [4.0, 10.0];
-		double[2] c;
+version(runTest){
+	import addon.cpuinfo;
+	
+	int main(){
+		haveSSE3!()();
+		
+		double[] a = new double[2];
+		a[0] = 1.0;
+		a[1] = 30.0;
+		
+		double[] b = new double[2];
+		b[0] = 4.0;
+		b[1] = 10.0;
 
 		asm{
-			movupd XMM0, A;
-			movupd XMM1, B;
+			movupd XMM0, a;
+			movupd XMM1, b;
 			addsubpd XMM0, XMM1;
-			movupd c, XMM0;
+			movupd b, XMM0;
+			emms;
 		}
 
-		c[0] += 3.0;
-		if(c[0] < 0.0){
-			c[0] = -c[0];
+		b[0] += 3.0;
+		if(b[0] < 0.0){
+			b[0] = -b[0];
 		}
 
-		if(c[0] > double.epsilon * 16){
+		if(b[0] > double.epsilon * 16){
 			assert(0);
 		}
 
-		c[1] -= 40.0;
-		if(c[1] < 0.0){
-			c[1] = -c[1];
+		b[1] -= 40.0;
+		if(b[1] < 0.0){
+			b[1] = -b[1];
 		}
 
-		if(c[1] > double.epsilon * 16){
+		if(b[1] > double.epsilon * 16){
 			assert(0);
 		}
+		
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_addsubps_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_addsubps_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,57 +10,70 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
-		static float[4] A = [1.0f, 2.0f, 3.0f, 4.0f];
-		static float[4] B = [0.1f, 0.2f, 0.3f, 0.4f];
-		float[4] c;
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveSSE3!()();
+		
+		float[] a = new float[4];
+		a[0] = 1.0f;
+		a[1] = 2.0f;
+		a[2] = 3.0f;
+		a[3] = 4.0f;
+
+		float[] b = new float[4];
+		b[0] = 0.1f;
+		b[1] = 0.2f;
+		b[2] = 0.3f;
+		b[3] = 0.4f;
 
 		asm{
-			movups XMM0, A;
-			movups XMM1, B;
+			movups XMM0, a;
+			movups XMM1, b;
 			addsubps XMM0, XMM1;
-			movups c, XMM0;
+			movups b, XMM0;
 		}
 
-		c[0] -= 0.9f;
-		if(c[0] < 0.0){
-			c[0] = -c[0];
+		b[0] -= 0.9f;
+		if(b[0] < 0.0){
+			b[0] = -b[0];
 		}
 
-		if(c[0] > float.epsilon * 16){
+		if(b[0] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[1] -= 2.2f;
-		if(c[1] < 0.0){
-			c[1] = -c[1];
+		b[1] -= 2.2f;
+		if(b[1] < 0.0){
+			b[1] = -b[1];
 		}
 
-		if(c[1] > float.epsilon * 16){
+		if(b[1] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[2] -= 2.7f;
-		if(c[2] < 0.0){
-			c[2] = -c[2];
+		b[2] -= 2.7f;
+		if(b[2] < 0.0){
+			b[2] = -b[2];
 		}
 
-		if(c[2] > float.epsilon * 16){
+		if(b[2] > float.epsilon * 16){
 			assert(0);
 		}
 
-		c[3] -= 4.4f;
-		if(c[3] < 0.0){
-			c[3] = -c[3];
+		b[3] -= 4.4f;
+		if(b[3] < 0.0){
+			b[3] = -b[3];
 		}
 
-		if(c[3] > float.epsilon * 16){
+		if(b[3] > float.epsilon * 16){
 			assert(0);
 		}
+
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_ah_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_ah_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,25 +4,32 @@
 
 module dstress.run.a.asm_ah_01;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a = 0x12;
 		byte b;
 
-		assert(a==0x12);
-		assert(b==0);
-
 		asm{
 			mov AH, a;
 			mov b, AH;
 		}
 
-		assert(a==0x12);
-		assert(b==0x12);
+		if(a != 0x12){
+			assert(0);
+		}
+		if(b != 0x12){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_ah_02_P.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_ah_02_P.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,26 +4,33 @@
 
 module dstress.run.a.asm_ah_02_P;
 
-enum E : byte{
-	A = 0x12,
-	B = 0x23
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
 }
 
-int main(){
-	version(D_InlineAsm){
+version(runTest){
+	enum E : byte{
+		A = 0x12,
+		B = 0x23
+	}
+
+	int main(){
 		byte b;
-		assert(b==0);
 
 		asm{
 			mov AH, E.A;
 			mov b, AH;
 		}
 
-		assert(b==E.A);
+		if(b != E.A){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_al_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_al_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,25 +4,32 @@
 
 module dstress.run.a.asm_al_01;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a = 0x12;
 		byte b;
 
-		assert(a==0x12);
-		assert(b==0);
-
 		asm{
 			mov AL, a;
 			mov b, AL;
 		}
 
-		assert(a==0x12);
-		assert(b==0x12);
+		if(a != 0x12){
+			assert(0);
+		}
+		if(b != 0x12){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_and_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ubyte b = 5;
+		
 		asm{
 			mov EAX, a;
 			and AL, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_01_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_01_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ushort b = 5;
+		
 		asm{
 			mov EAX, a;
 			and AX, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_01_C.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_01_C.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		uint b = 0x12_30_43_01;
+		
 		asm{
 			mov EAX, a;
 			and EAX, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_02_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_02_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ubyte b = 5;
+		
 		asm{
 			mov EBX, a;
 			and BL, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_02_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_02_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ushort b = 5;
+		
 		asm{
 			mov EBX, a;
 			and BX, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_02_C.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_02_C.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		uint b = 0x12_30_43_01;
+		
 		asm{
 			mov EBX, a;
 			and EBX, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_03_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_03_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ushort b = 0x43_01;
+		
 		asm{
 			mov EAX, a;
 			and AX, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_03_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_03_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ubyte b = 0x05;
+		
 		asm{
 			mov EAX, a;
 			and AL, b;
@@ -25,8 +26,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_04_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_04_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ubyte b = 0x05;
+		
 		asm{
 			mov EAX, a;
 			mov BL, b;
@@ -26,8 +27,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_04_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_04_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		ushort b = 0x41_05;
+		
 		asm{
 			mov EAX, a;
 			mov BX, b;
@@ -26,8 +27,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_and_04_C.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_and_04_C.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,11 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x12_34_56_06;
 		uint b = 0x02_12_41_05;
+		
 		asm{
 			mov EAX, a;
 			mov EBX, b;
@@ -26,8 +27,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_ax_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_ax_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,29 +4,37 @@
 
 module dstress.run.a.asm_ax_01;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a = 0x12;
 		byte b = 0x34;
 		short s;
 
-		assert(a==0x12);
-		assert(b==0x34);
-		assert(s==0x00_00);
-
 		asm{
 			mov AH, a;
 			mov AL, b;
 			mov s, AX;
 		}
 
-		assert(a==0x12);
-		assert(b==0x34);
-		assert(s==0x12_34);
+		if(a != 0x12){
+			assert(0);
+		}
+		if(b != 0x34){
+			assert(0);
+		}
+		if(s != 0x12_34){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_ax_02.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_ax_02.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,29 +4,37 @@
 
 module dstress.run.a.asm_ax_02;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a = 0;
 		byte b = 0;
 		short s=0x12_34;
 
-		assert(a==0);
-		assert(b==0);
-		assert(s==0x12_34);
-
 		asm{
 			mov AX, s;
 			mov a, AH;
 			mov b, AL;
 		}
 
-		assert(s==0x12_34);
-		assert(a==0x12);
-		assert(b==0x34);
+		if(s != 0x12_34){
+			assert(0);
+		}
+		if(a != 0x12){
+			assert(0);
+		}
+		if(b != 0x34){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_bh_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bh_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,25 +4,32 @@
 
 module dstress.run.a.asm_bh_01;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a=0x12;
 		byte b;
 
-		assert(a==0x12);
-		assert(b==0);
-
 		asm{
 			mov BH, a;
 			mov b, BH;
 		}
 
-		assert(a==0x12);
-		assert(b==0x12);
+		if(a != 0x12){
+			assert(0);
+		}
+		if(b != 0x12){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_bl_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bl_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,25 +4,32 @@
 
 module dstress.run.a.asm_bl_01;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a=0x12;
 		byte b;
 
-		assert(a==0x12);
-		assert(b==0);
-
 		asm{
 			mov BL, a;
 			mov b, BL;
 		}
 
-		assert(a==0x12);
-		assert(b==0x12);
+		if(a != 0x12){
+			assert(0);
+		}
+		if(b != 0x12){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_bsf_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsf_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 0x3000;
 
 		asm{
@@ -24,8 +24,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bsf_01_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsf_01_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x30000;
 
 		asm{
@@ -24,8 +24,8 @@
 		 }
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bsf_02_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsf_02_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 0x3000;
 
 		asm{
@@ -25,8 +25,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bsf_02_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsf_02_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x30000;
 
 		asm{
@@ -25,8 +25,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bsr_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsr_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x30000;
 
 		asm{
@@ -24,8 +24,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bsr_01_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsr_01_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 0x3000;
 
 		asm{
@@ -24,8 +24,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bsr_02_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsr_02_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0x30000;
 
 		asm{
@@ -25,8 +25,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bsr_02_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bsr_02_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 0x3000;
 
 		asm{
@@ -25,8 +25,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bswap_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bswap_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -2,7 +2,7 @@
 // $Date$
 // $Author$
 
-module dstress.run.a.asm_bswp_01;
+module dstress.run.a.asm_bswap_01;
 
 version(D_InlineAsm_X86){
 	version = runTest;
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 0xAB_34_56_78;
 
 		asm{
@@ -25,8 +25,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bt_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bt_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 0x00_01;
 		ushort b = 0x00_00;
 
@@ -28,8 +28,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bt_01_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bt_01_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 0x00_01;
 		ushort b = 0x00_00;
 
@@ -27,8 +27,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bt_02_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bt_02_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 1;
 		uint b = 0;
 
@@ -28,8 +28,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bt_02_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bt_02_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 1;
 		uint b = 0;
 
@@ -27,8 +27,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btc_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btc_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 3;
 		ushort b = 0;
 
@@ -32,8 +32,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btc_01_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btc_01_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 3;
 		ushort b = 0;
 
@@ -34,8 +34,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btc_02_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btc_02_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 3;
 		uint b = 0;
 
@@ -32,8 +32,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btc_02_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btc_02_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 3;
 		uint b = 0;
 
@@ -34,8 +34,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btr_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btr_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 3;
 		ushort b = 0;
 
@@ -32,8 +32,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btr_01_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btr_01_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 3;
 		ushort b = 0;
 
@@ -34,8 +34,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btr_02_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btr_02_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 3;
 		uint b = 0;
 
@@ -32,8 +32,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_btr_02_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_btr_02_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 3;
 		uint b = 0;
 
@@ -34,8 +34,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bts_01_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bts_01_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 2;
 		ushort b = 0;
 
@@ -32,8 +32,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bts_01_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bts_01_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		ushort a = 2;
 		ushort b = 0;
 
@@ -34,8 +34,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bts_02_A.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bts_02_A.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 2;
 		uint b = 0;
 
@@ -32,8 +32,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bts_02_B.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bts_02_B.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a = 2;
 		uint b = 0;
 
@@ -34,8 +34,8 @@
 		return 0;
 	error:
 		assert(0);
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_bx_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bx_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,29 +4,31 @@
 
 module dstress.run.a.asm_bx_01;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a = 0x12;
 		byte b = 0x34;
 		short s;
 
-		assert(a==0x12);
-		assert(b==0x34);
-		assert(s==0x00_00);
-
 		asm{
 			mov BH, a;
 			mov BL, b;
 			mov s, BX;
 		}
 
-		assert(a==0x12);
-		assert(b==0x34);
-		assert(s==0x12_34);
+		if(s != 0x12_34){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_bx_02.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_bx_02.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,29 +4,34 @@
 
 module dstress.run.a.asm_bx_02;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		byte a = 0;
 		byte b = 0;
 		short s=0x12_34;
 
-		assert(a==0);
-		assert(b==0);
-		assert(s==0x12_34);
-
 		asm{
 			mov BX, s;
 			mov a, BH;
 			mov b, BL;
 		}
 
-		assert(s==0x12_34);
-		assert(a==0x12);
-		assert(b==0x34);
+		if(a != 0x12){
+			assert(0);
+		}
+		if(b != 0x34){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_cbw_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_cbw_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,10 +10,10 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
-		uint i=0x12_3F_FF_FFu;
-		byte b=-128;
+version(runTest){
+	int main(){
+		uint i = 0x12_3F_FF_FFu;
+		byte b = -128;
 
 		asm{
 			mov EAX, i;
@@ -27,8 +27,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
--- a/run/a/asm_cdq_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_cdq_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,10 +4,16 @@
 
 module dstress.run.a.asm_cdq_01;
 
-int main(){
-	version(D_InlineAsm){
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
 		int x = -128;
-		uint i=0x12_3F_FF_FFu;
+		uint i = 0x12_3F_FF_FFu;
 		uint ii;
 
 		asm{
@@ -18,13 +24,16 @@
 			mov ii, EDX;
 		}
 
-		assert(i==0xFF_FF_FF_80u);
-		assert(ii==0xFF_FF_FF_FFu);
+		if(i != 0xFF_FF_FF_80u){
+			assert(0);
+		}
+		if(ii != 0xFF_FF_FF_FFu){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }
-
--- a/run/a/asm_ch_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_ch_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,25 +4,29 @@
 
 module dstress.run.a.asm_ch_01;
 
-int main(){
-	version(D_InlineAsm){
-		byte a=0x12;
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		byte a = 0x12;
 		byte b;
 
-		assert(a==0x12);
-		assert(b==0);
-
 		asm{
 			mov CH, a;
 			mov b, CH;
 		}
 
-		assert(a==0x12);
-		assert(b==0x12);
+		if(b != 0x12){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_cl_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_cl_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -4,25 +4,29 @@
 
 module dstress.run.a.asm_cl_01;
 
-int main(){
-	version(D_InlineAsm){
-		byte a=0x12;
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		byte a = 0x12;
 		byte b;
 
-		assert(a==0x12);
-		assert(b==0);
-
 		asm{
 			mov CL, a;
 			mov b, CL;
 		}
 
-		assert(a==0x12);
-		assert(b==0x12);
+		if(b != 0x12){
+			assert(0);
+		}
 
 		return 0;
-	}else{
-		pragma(msg, "no Inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_clc_01.d	Sat Jul 01 23:08:00 2006 +0000
+++ b/run/a/asm_clc_01.d	Sun Jul 02 10:53:29 2006 +0000
@@ -10,8 +10,8 @@
 	version = runTest;
 }
 
-int main(){
-	version(runTest){
+version(runTest){
+	int main(){
 		uint a;
 
 		asm{
@@ -30,8 +30,8 @@
 		}
 
 		return 0;
-	}else{
-		pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-		static assert(0);
 	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
 }