Mercurial > projects > dstress
diff run/a/asm_fdivr_01_D.d @ 989:a468938b0160
inline ASM review
author | thomask |
---|---|
date | Tue, 09 May 2006 04:18:47 +0000 |
parents | 7b2c5a101190 |
children | 03c97933de98 |
line wrap: on
line diff
--- a/run/a/asm_fdivr_01_D.d Sun May 07 18:20:25 2006 +0000 +++ b/run/a/asm_fdivr_01_D.d Tue May 09 04:18:47 2006 +0000 @@ -2,18 +2,23 @@ // $Date$ // $Author$ -// __DSTRESS_DFLAGS__ addon/cpuinfo.d +module dstress.run.a.asm_fdivr_01_D; -module dstress.run.a.asm_fdivr_01_D; -import addon.cpuinfo; +version(D_InlineAsm_X86){ + version = runTest; +}else version(D_InlineAsm_X86_64){ + version = runTest; +} -int main(){ - version(D_InlineAsm){ - haveFPU(); +version(runTest){ + import addon.cpuinfo; + + int main(){ + haveFPU!()(); - float a = 12.0; - float b = -3.0; - float c = 9.9; + float a = 12.0f; + float b = -3.0f; + float c = 9.9f; asm{ fld b; @@ -25,13 +30,19 @@ fstp c; } - assert(a == 12.0); - assert(b == 0.0); - assert(c == -4.0); + if(a != 12.0f){ + assert(0); + } + if(b != 0.0f){ + assert(0); + } + if(c != -4.0f){ + 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); +}