# HG changeset patch # User thomask # Date 1147508760 0 # Node ID 80c8f0058259eb620811ac6da9271d298fd55599 # Parent 861fe190f7eff9533b320a05256219405964c197 inline ASM review diff -r 861fe190f7ef -r 80c8f0058259 run/a/asm_fistp_01_C.d --- 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); +}