changeset 1606:ebff718ff18b

Fix tests from #3. Thanks Don!
author Christian Kamm <kamm incasoftware de>
date Mon, 13 Apr 2009 13:47:03 +0200
parents 392a442e2d64
children 1bbcc6407d4b
files run/a/asm_fdiv_01_D.d run/a/asm_fdiv_01_D2.d run/a/asm_fdivp_01_A.d run/a/asm_fdivp_01_A2.d run/a/asm_fdivp_01_B.d run/a/asm_fdivp_01_B2.d run/a/asm_fdivr_01_D.d run/a/asm_fdivr_01_D2.d run/a/asm_fdivrp_01_A.d run/a/asm_fdivrp_01_A2.d run/a/asm_fdivrp_01_B.d run/a/asm_fdivrp_01_B2.d run/a/asm_fsubp_01_A.d run/a/asm_fsubp_01_A2.d run/a/asm_fsubp_01_B.d run/a/asm_fsubp_01_B2.d run/a/asm_fsubrp_01_A.d run/a/asm_fsubrp_01_A2.d run/a/asm_fsubrp_01_B.d run/a/asm_fsubrp_01_B2.d
diffstat 20 files changed, 475 insertions(+), 464 deletions(-) [+]
line wrap: on
line diff
--- a/run/a/asm_fdiv_01_D.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fdiv_01_D;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		float a = -3.0f;
-		float b = 12.0f;
-		float c;
-
-		asm{
-			fld a;
-			fld b;
-			fdiv ST(1),ST;
-			fstp c;
-			fstp c;
-		}
-
-		if(c != -4.0f){
-			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_fdiv_01_D2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,51 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fdiv_01_D2;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		float a = -3.0f;
+		float b = 12.0f;
+		float c;
+
+		asm{
+			fld a;
+			fld b;
+			fdiv ST,ST(1);
+			fstp c;
+		}
+
+		if(c != -4.0f){
+			assert(0);
+		}
+
+		asm{
+			fld a;
+			fld b;
+			fdiv ST(1),ST;
+			fstp c;
+			fstp c;
+		}
+
+		if(c != a/b){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fdivp_01_A.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fdivp_01_A;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		float a = -3.0f;
-		float b = 12.0f;
-
-		asm{
-			fld a;
-			fldz;
-			fld b;
-			fdivp ST(2),ST;
-			fstp a;
-			fstp b;
-		}
-
-		if(a != 0.0f){
-			assert(0);
-		}
-		if(b != -4.0f){
-			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_fdivp_01_A2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,43 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fdivp_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		float a = 12.0f;
+		float b = -3.0f;
+
+		asm{
+			fld a;
+			fldz;
+			fld b;
+			fdivp ST(2),ST;
+			fstp a;
+			fstp b;
+		}
+
+		if(a != 0.0f){
+			assert(0);
+		}
+		if(b != -4.0f){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fdivp_01_B.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fdivp_01_B;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		float a = -3.0f;
-		float b = 12.0f;
-
-		asm{
-			fldz;
-			fld a;
-			fld b;
-			fdivp;
-			fstp a;
-			fstp b;
-		}
-
-		if(a != -4.0f){
-			assert(0);
-		}
-		if(b != 0.0f){
-			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_fdivp_01_B2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,43 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fdivp_01_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		float a = 12.0f;
+		float b = -3.0f;
+
+		asm{
+			fldz;
+			fld a;
+			fld b;
+			fdivp;
+			fstp a;
+			fstp b;
+		}
+
+		if(a != -4.0f){
+			assert(0);
+		}
+		if(b != 0.0f){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fdivr_01_D.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fdivr_01_D;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		float a = -3.0f;
-		float b = 12.0f;
-		float c = 9.9f;
-
-		asm{
-			fld b;
-			fldz;
-			fld a;
-			fdivr ST(2),ST;
-			fstp a;
-			fstp b;
-			fstp c;
-		}
-
-		if(a != -3.0f){
-			assert(0);
-		}
-		if(b != 0.0f){
-			assert(0);
-		}
-		if(c != -4.0f){
-			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_fdivr_01_D2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,48 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fdivr_01_D;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		float a = 12.0f;
+		float b = -3.0f;
+		float c = 9.9f;
+
+		asm{
+			fld b;
+			fldz;
+			fld a;
+			fdivr ST(2),ST;
+			fstp a;
+			fstp b;
+			fstp c;
+		}
+
+		if(a != 12.0f){
+			assert(0);
+		}
+		if(b != 0.0f){
+			assert(0);
+		}
+		if(c != -4.0f){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fdivrp_01_A.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fdivrp_01_A;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		float a = -3.0f;
-		float b = 12.0f;
-
-		asm{
-			fld b;
-			fldz;
-			fld a;
-			fdivrp ST(2),ST;
-			fstp a;
-			fstp b;
-		}
-
-		if(a != 0.0f){
-			assert(0);
-		}
-		if(b != -4.0f){
-			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_fdivrp_01_A2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,43 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fdivrp_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		float a = 12.0f;
+		float b = -3.0f;
+
+		asm{
+			fld b;
+			fldz;
+			fld a;
+			fdivrp ST(2),ST;
+			fstp a;
+			fstp b;
+		}
+
+		if(a != 0.0f){
+			assert(0);
+		}
+		if(b != -4.0f){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fdivrp_01_B.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fdivrp_01_B;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		float a = -3.0f;
-		float b = 12.0f;
-
-		asm{
-			fldz;
-			fld b;
-			fld a;
-			fdivrp;
-			fstp a;
-			fstp b;
-		}
-
-		if(a != -4.0f){
-			assert(0);
-		}
-		if(b != 0.0f){
-			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_fdivrp_01_B2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,43 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fdivrp_01_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		float b = -3.0f;
+		float a = 12.0f;
+
+		asm{
+			fldz;
+			fld b;
+			fld a;
+			fdivrp;
+			fstp a;
+			fstp b;
+		}
+
+		if(a != -4.0f){
+			assert(0);
+		}
+		if(b != 0.0f){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fsubp_01_A.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fsubp_01_A;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		double a = -1.2;
-		double b = 2.4;
-
-		asm{
-			fld1;
-			fldz;
-			fld a;
-			fld b;
-			fsubp;
-			fstp a;
-			fstp b;
-		}
-
-		a -= 3.6;
-
-		if(a < 0.0){
-			a = -a;
-		}
-
-		if(a > a.epsilon * 4.0){
-			assert(0);
-		}
-
-		if(b != 0.0){
-			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_fsubp_01_A2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,51 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fsubp_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		double b = -1.2;
+		double a = 2.4;
+
+		asm{
+			fld1;
+			fldz;
+			fld a;
+			fld b;
+			fsubp;
+			fstp a;
+			fstp b;
+		}
+
+		a -= 3.6;
+
+		if(a < 0.0){
+			a = -a;
+		}
+
+		if(a > a.epsilon * 4.0){
+			assert(0);
+		}
+
+		if(b != 0.0){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fsubp_01_B.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fsubp_01_B;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-		
-		double a = -1.2;
-		double b = 2.4;
-
-		asm{
-			fld1;
-			fld a;
-			fldz;
-			fld b;
-			fsubp ST(2), ST;
-			fstp b;
-			fstp a;
-		}
-
-		a -= 3.6;
-
-		if(a < 0.0){
-			a = -a;
-		}
-
-		if(a > a.epsilon * 4.0){
-			assert(0);
-		}
-
-		if(b != 0.0){
-			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_fsubp_01_B2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,51 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fsubp_01_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+		
+		double b = -1.2;
+		double a = 2.4;
+
+		asm{
+			fld1;
+			fld a;
+			fldz;
+			fld b;
+			fsubp ST(2), ST;
+			fstp b;
+			fstp a;
+		}
+
+		a -= 3.6;
+
+		if(a < 0.0){
+			a = -a;
+		}
+
+		if(a > a.epsilon * 4.0){
+			assert(0);
+		}
+
+		if(b != 0.0){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fsubrp_01_A.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fsubrp_01_A;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		double a = -1.2;
-		double b = 2.4;
-
-		asm{
-			fld1;
-			fldz;
-			fld b;
-			fld a;
-			fsubrp;
-			fstp a;
-			fstp b;
-		}
-
-		a -= 3.6;
-
-		if(a < 0.0){
-			a = -a;
-		}
-
-		if(a > a.epsilon * 4.0){
-			assert(0);
-		}
-
-		if(b != 0.0){
-			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_fsubrp_01_A2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,51 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fsubrp_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		double b = -1.2;
+		double a = 2.4;
+
+		asm{
+			fld1;
+			fldz;
+			fld b;
+			fld a;
+			fsubrp;
+			fstp a;
+			fstp b;
+		}
+
+		a -= 3.6;
+
+		if(a < 0.0){
+			a = -a;
+		}
+
+		if(a > a.epsilon * 4.0){
+			assert(0);
+		}
+
+		if(b != 0.0){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_fsubrp_01_B.d	Tue Apr 07 17:42:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-module dstress.run.a.asm_fsubrp_01_B;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveFPU!()();
-
-		double a = -1.2;
-		double b = 2.4;
-
-		asm{
-			fld1;
-			fld b;
-			fldz;
-			fld a;
-			fsubrp ST(2), ST;
-			fstp b;
-			fstp a;
-		}
-
-		a -= 3.6;
-
-		if(a < 0.0){
-			a = -a;
-		}
-
-		if(a > a.epsilon * 4.0){
-			assert(0);
-		}
-
-		if(b != 0.0){
-			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_fsubrp_01_B2.d	Mon Apr 13 13:47:03 2009 +0200
@@ -0,0 +1,51 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_fsubrp_01_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
+		haveFPU!()();
+
+		double b = -1.2;
+		double a = 2.4;
+
+		asm{
+			fld1;
+			fld b;
+			fldz;
+			fld a;
+			fsubrp ST(2), ST;
+			fstp b;
+			fstp a;
+		}
+
+		a -= 3.6;
+
+		if(a < 0.0){
+			a = -a;
+		}
+
+		if(a > a.epsilon * 4.0){
+			assert(0);
+		}
+
+		if(b != 0.0){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}