From: Xi Ruoyao Date: Thu, 25 Jan 2024 15:49:13 +0000 (+0800) Subject: LoongArch: Allow s9 as a register alias X-Git-Tag: basepoints/gcc-15~821 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f628a30f4dbdee9b4531314d72c7762f1fbcf8ff;p=thirdparty%2Fgcc.git LoongArch: Allow s9 as a register alias The psABI allows using s9 as an alias of r22. gcc/ChangeLog: * config/loongarch/loongarch.h (ADDITIONAL_REGISTER_NAMES): Add s9 as an alias of r22. gcc/testsuite/ChangeLog: * gcc.target/loongarch/regname-fp-s9.c: New test. --- diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h index 8b453ab3140d..bf2351f0968f 100644 --- a/gcc/config/loongarch/loongarch.h +++ b/gcc/config/loongarch/loongarch.h @@ -931,6 +931,7 @@ typedef struct { { "t8", 20 + GP_REG_FIRST }, \ { "x", 21 + GP_REG_FIRST }, \ { "fp", 22 + GP_REG_FIRST }, \ + { "s9", 22 + GP_REG_FIRST }, \ { "s0", 23 + GP_REG_FIRST }, \ { "s1", 24 + GP_REG_FIRST }, \ { "s2", 25 + GP_REG_FIRST }, \ diff --git a/gcc/testsuite/gcc.target/loongarch/regname-fp-s9.c b/gcc/testsuite/gcc.target/loongarch/regname-fp-s9.c new file mode 100644 index 000000000000..d2e3b80f83cf --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/regname-fp-s9.c @@ -0,0 +1,3 @@ +/* { dg-do compile } */ +register long s9 asm("s9"); /* { dg-note "conflicts with 's9'" } */ +register long fp asm("fp"); /* { dg-warning "register of 'fp' used for multiple global register variables" } */