Add initial support for darwin-aarch64 (macOS M1).
Some differences compared to linux-aarch64:
- math.h defined math_errhandling by the compiler builtin __math_errhandling() but Apple Clang 13.0.0 on M1 does not support __math_errhandling() builtin as a macro function or a constexpr function.
- math.h defines UNDERFLOW and OVERFLOW macros.
- Besides 5 usual floating point exceptions: FE_INEXACT, FE_UNDERFLOW, FE_OVERFLOW, FE_DIVBYZERO, and FE_INVALID, fenv.h also has another floating point exception: FE_FLUSHTOZERO. The corresponding trap for FE_FLUSHTOZERO in the control register is at the different location compared to the status register.
- FE_FLUSHTOZERO exception flag cannot be raised with the default CPU floating point operation mode.
A large part of this seems to be the same as the default aarch64/FEnvImpl.h. In a later pass, we should unify as much as possible so that the differences get clearly documented.