On 16 May 2016 at 14:37, Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > On 5/15/2016 9:06 PM, Manu via Digitalmars-d wrote: >> >> Holy shit, it's just occurred to me that 'real' is only 64bits on arm >> (and every non-x86 platform)... > > > There are some that support 128 bits. > >> That means a compiler running on an arm host will produce a different >> binary than a compiler running on an x86 host!! O_O > > > That's probably why VC++ dropped 80 bit long double support entirely. > > Me, I think of that as "Who cares that you paid $$$ for an 80 bit CPU, we're > going to give you only 64 bits."
No, you'll give me 80bit _when I type "real"_. Otherwise, if I type 'double', you'll give me that. I don't understand how that can be controversial. I know you love the x87, but I'm pretty sure you're among a small minority. Personally, I don't want a single line of code that goes anywhere near the x87 to be emit in any binary I produce. It's a deprecated old crappy piece of hardware, and transfers between x87 and sse regs are slow. > It's also why I'd like to build a 128 soft fp emulator in dmd for all > compile time float operations. And I did also realise the reason for your desire to implement 128bit soft-float the same moment I realised this. The situation that different DMD builds operate at different precisions internally (based on the host arch) is a whole new level of astonishment. I support this soft-float, but please, build a soft-float for all precisions, and use them everywhere that a hardware float for _the specified precision_ is not available ;)