From 4b1c0f7e85f2aec3df3498d04b5beaf45813dea8 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 12 Dec 2017 10:56:23 +1030 Subject: [PATCH] Don't mask X_add_number containing a register number It's obviously wrong to mask SPRs to 8 bits. PR 21118 * config/tc-ppc.c (md_assemble): Don't mask register number. --- gas/ChangeLog | 5 +++++ gas/config/tc-ppc.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 5cae4d1..99cd425 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2017-12-12 Alan Modra + + PR 21118 + * config/tc-ppc.c (md_assemble): Don't mask register number. + 2017-12-07 Max Filippov * config/tc-xtensa.c (xg_order_trampoline_chain): Replace diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index d4f3d60..d28164e 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -3040,7 +3040,7 @@ md_assemble (char *str) && ex.X_add_number != 0 && (operand->flags & PPC_OPERAND_GPR_0) != 0)) as_warn (_("invalid register expression")); - insn = ppc_insert_operand (insn, operand, ex.X_add_number & 0xff, + insn = ppc_insert_operand (insn, operand, ex.X_add_number, ppc_cpu, (char *) NULL, 0); } else if (ex.X_op == O_constant) -- 2.7.4