issue with each specifically for x86

ketmar ketmar at ketmar.no-ip.org
Wed Mar 7 21:06:29 UTC 2018


ag0aep6g wrote:

> On 03/07/2018 09:09 PM, ag0aep6g wrote:
>> ----
>> double f() { return 1; }
>> void main()
>> {
>>      cast(void) f();
>>      cast(void) f();
>>      cast(void) f();
>>      cast(void) f();
>>      cast(void) f();
>>      cast(void) f();
>>      cast(void) f();
>>     double b = 2;
>>      assert(b == 2); /* fails; should pass */
>> }
>> ----
>
> With `real` instead of `double` x86_64 is also affected.

yeah. that is 'cause SSE cannot do math with 80-bit floats, and compiler 
falls back to FPU in this case.


More information about the Digitalmars-d-learn mailing list