Commit e3f15286 by Richard Henderson Committed by Richard Henderson

aarch64: Extend %R for integer registers

	* config/aarch64/aarch64.c (aarch64_print_operand): Allow integer
	registers with %R.

From-SVN: r275964
parent efe12656
2019-09-19 Richard Henderson <richard.henderson@linaro.org>
* config/aarch64/aarch64.c (aarch64_print_operand): Allow integer
registers with %R.
2019-09-19 Feng Xue <fxue@os.amperecomputing.com>
* ipa-fnsummary.c (set_cond_stmt_execution_predicate): Do not compute
......
......@@ -8420,7 +8420,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).
......@@ -8623,12 +8623,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':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment