[Issue 24819] Optimizer changes result of float calculations on 32-bit

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Oct 24 04:35:21 UTC 2024


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

Walter Bright <bugzilla at digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla at digitalmars.com

--- Comment #2 from Walter Bright <bugzilla at digitalmars.com> ---
The problem shows up with this optimization:

in localize():

Moved equation x(3) =  (r(1) ^  -9223372036854775808LL );

el:0x2ade880 cnt=0 = TYdouble 0x2ade6c0 0x2ade810
 el:0x2ade6c0 cnt=0 var TYlong  x
 el:0x2ade810 cnt=0 ^ TYlong 0x2ade7a0 0x2ade000
  el:0x2ade7a0 cnt=0 var TYlong  r
  el:0x2ade000 cnt=0 const TYlong -9223372036854775808LL

replacing:

el:0x2ade9d0 cnt=0 var TYdouble  x

which fouls up the x87 code generation.

--


More information about the Digitalmars-d-bugs mailing list