From: Kyrylo Tkachov Date: Wed, 1 Apr 2020 10:43:00 +0000 (+0100) Subject: aarch64: Extend %R for integer registers X-Git-Tag: embedded-9-2020q2~56 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ea7ffe1da05df28c8dd5c1f5292b31df69f1a9ef;p=thirdparty%2Fgcc.git aarch64: Extend %R for integer registers 2020-04-01 Kyrylo Tkachov Backport from mainline 2019-09-19 Richard Henderson * config/aarch64/aarch64.c (aarch64_print_operand): Allow integer registers with %R. --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2b1ce7df14ac..9860ae1b19a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2020-04-01 Kyrylo Tkachov + + Backport from mainline + 2019-09-19 Richard Henderson + + * config/aarch64/aarch64.c (aarch64_print_operand): Allow integer + registers with %R. + 2020-03-31 Carl Love Backport of: diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 2b09f317978e..23846b2339d2 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -7542,7 +7542,7 @@ sizetochar (int size) 'S/T/U/V': Print a FP/SIMD register name for a register list. The register printed is the FP/SIMD register name of X + 0/1/2/3 for S/T/U/V. - 'R': Print a scalar FP/SIMD register name + 1. + 'R': Print a scalar Integer/FP/SIMD register name + 1. 'X': Print bottom 16 bits of integer constant in hex. 'w/x': Print a general register name or the zero register (32-bit or 64-bit). @@ -7734,12 +7734,13 @@ aarch64_print_operand (FILE *f, rtx x, int code) break; case 'R': - if (!REG_P (x) || !FP_REGNUM_P (REGNO (x))) - { - output_operand_lossage ("incompatible floating point / vector register operand for '%%%c'", code); - return; - } - asm_fprintf (f, "q%d", REGNO (x) - V0_REGNUM + 1); + if (REG_P (x) && FP_REGNUM_P (REGNO (x))) + asm_fprintf (f, "q%d", REGNO (x) - V0_REGNUM + 1); + else if (REG_P (x) && GP_REGNUM_P (REGNO (x))) + asm_fprintf (f, "x%d", REGNO (x) - R0_REGNUM + 1); + else + output_operand_lossage ("incompatible register operand for '%%%c'", + code); break; case 'X':