diff run/a/asm_fdivr_01_D2.d @ 1606:ebff718ff18b

Fix tests from #3. Thanks Don!
author Christian Kamm <kamm incasoftware de>
date Mon, 13 Apr 2009 13:47:03 +0200
parents run/a/asm_fdivr_01_D.d@1c8652b3795a
children 1bbcc6407d4b
line wrap: on
line diff
--- /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);
+}