Mercurial > projects > dstress
diff run/a/asm_fdiv_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_fdiv_01_D.d@1c8652b3795a |
children |
line wrap: on
line diff
--- /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); +}