]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Mark x18 register as a fixed register for MS ABI
authorZac Walker <zacwalker@microsoft.com>
Thu, 11 Apr 2024 11:30:27 +0000 (13:30 +0200)
committerChristophe Lyon <christophe.lyon@linaro.org>
Tue, 7 May 2024 16:02:33 +0000 (16:02 +0000)
commitb9415046fa27d6b3faea89871dbb84b673afadaf
tree27c62f1044f393d59eac0ef4996083046cddf2f0
parent13bad1ac7a6ea4dbbde67c69d31c218a2f2d7a5d
aarch64: Mark x18 register as a fixed register for MS ABI

Define the MS ABI for aarch64-w64-mingw32.
Adjust FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS and
STATIC_CHAIN_REGNUM for AArch64 MS ABI.
The X18 register is reserved on Windows for the TEB.

gcc/ChangeLog:

* config.gcc: Define TARGET_AARCH64_MS_ABI when
AArch64 MS ABI is used.
* config/aarch64/aarch64.h (FIXED_X18): Adjust
FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS and
STATIC_CHAIN_REGNUM for AArch64 MS ABI.
(CALL_USED_X18): Likewise.
(FIXED_REGISTERS): Likewise.
* config/aarch64/aarch64-abi-ms.h: New file.
gcc/config.gcc
gcc/config/aarch64/aarch64-abi-ms.h [new file with mode: 0644]
gcc/config/aarch64/aarch64.h