changeset 994:80c8f0058259

inline ASM review
author thomask
date Sat, 13 May 2006 08:26:00 +0000
parents 861fe190f7ef
children 2a2fce159e30
files run/a/asm_fistp_01_C.d
diffstat 1 files changed, 22 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/run/a/asm_fistp_01_C.d	Fri May 12 18:01:12 2006 +0000
+++ b/run/a/asm_fistp_01_C.d	Sat May 13 08:26:00 2006 +0000
@@ -2,32 +2,41 @@
 // $Date$
 // $Author$
 
-// __DSTRESS_DFLAGS__ addon/cpuinfo.d
+module dstress.run.a.asm_fistp_01_C;
 
-module dstress.run.a.asm_fistp_01_C;
-import addon.cpuinfo;
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
 
-int main(){
-	version(D_InlineAsm){
+version(runTest){
+	import addon.cpuinfo;
+
+	int main(){
 		haveFPU!()();
 		
-		real r = -800.0L;
+		float r = -800.0f;
 		long a, b;
 		
 		asm{
-			finit;
+			fldz;
 			fld1;
 			fld r;
 			fistp a;
 			fistp b;
 		}
 		
-		assert(a == -800);
-		assert(b == 1);
+		if(a != -800){
+			assert(0);
+		}
+		if(b != 1){
+			assert(0);
+		}
 		
 		return 0;
-	}else{
-		pragma(msg, "no inline asm support");
-		static assert(0);
 	}
-}
\ No newline at end of file
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}