Mercurial > projects > dstress
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); +}