[Issue 13485] FP wrong-code with -O

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Wed Sep 17 01:25:55 PDT 2014


https://issues.dlang.org/show_bug.cgi?id=13485

--- Comment #4 from Илья Ярошенко <ilyayaroshenko at gmail.com> ---
No, (In reply to Iain Buclaw from comment #2)
> FYI, this looks more like an x87 problem, rather than compiler.  And it's
> not just D that is affected by this.
> 
> For instance, this bug in gcc:
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323
> 
> 
> Though they did eventually fix it in implementing C99-conformant (kinda)
> excess precision.
> 
> http://marc.info/?l=gcc-patches&m=122576450613005&w=2

I am sorry for previous not finished comment.

I have looked into disassembler code.
It is Not problem with x87 

0. dmd do this optimization 
  {d+=d; c+=d}
  But this is correct only when flags like -ffast-math was enabled.
1. float and double on 64bit are using xmm registers even in dmd.
2. It works fine with LDC.

--


More information about the Digitalmars-d-bugs mailing list