dmd Arm64 - first function compile!

Walter Bright newshound2 at digitalmars.com
Sun Jun 2 16:49:55 UTC 2024


On 6/2/2024 9:15 AM, Guillaume Piolat wrote:
> A few oddities in "arm64":
> 
> - Some arm64 archs can't represent a NaN with a negative sign. But Apple version 
> of arm64 can.
> 
> - Floating-point to integer casting tend to clamp to min/max representable 
> integers, when the float value exceed the integer representation. IIRC D doesn't 
> define the maximum values for which this is a well defined operation.
> 
> - Likewise, shifting by more bits then the integer has is well defined, and 
> doesn't work the same as in x86. So I'd say this is generally UB in D.
> 
> - Rounding a float that is exactly in the middle (such as 3.5) is a bit 
> different than x86 IIRC, the rules are slightly different but I think this was 
> only arm32.
> 
> - the denormal flags are one flag (instead of two in x86)

I didn't know this. The D Arm floating point is going to do what the native 
hardware does.


More information about the Digitalmars-d mailing list