You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MAINT: LoongArch: switch away from the __loongarch64 preprocessor macro
According to the *Toolchain Conventions of the LoongArch Architecture*
specification (v1.1) [1], the `__loongarch64` preprocessor macro is in
fact a legacy symbol retained for compatibility; the reason being that
the GPR width and the calling convention in use are orthogonal to each
other, and in reality we care about the calling convention (e.g. ILP32
or LP64) more often than about the hardware capability -- think of ILP32
code on 64-bit hardware, in which case the GPR is wider than what a
pointer actually can occupy, for example.
As for the two modified places, the header change is actually
concerned with the calling convention; and while the implementation
change is actually correct regardless of bitness or calling convention,
the Loongson maintainer prefers staying with `__loongarch_lp64` to be
extra safe against possible API changes for the future ILP32 ABI.
[1]: https://github.com/loongson/la-toolchain-conventions/blob/releases/v1.1/LoongArch-toolchain-conventions-EN.adoc
0 commit comments