According to the ACLE __ARM_PCS_AAPCS64 should only be defined:
__ARM_PCS_AAPCS64 is defined to 1 if the default procedure calling standard for the translation unit conforms to the [[AAPCS64]](https://arm-software.github.io/acle/main/acle.html#AAPCS64).
But windows/mingw procedure call standard is different from AAPCS64 (e.g. var_args is different).
Mac OS's precedure calling standard is also different (e.g. arguments are zero/sign extended).
I should note I found this while auditing GCC's macros definitions too (and yes GCC incorrectly defines it).