]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Don't mask X_add_number containing a register number
authorAlan Modra <amodra@gmail.com>
Tue, 12 Dec 2017 00:26:23 +0000 (10:56 +1030)
committerAlan Modra <amodra@gmail.com>
Tue, 12 Dec 2017 00:36:52 +0000 (11:06 +1030)
It's obviously wrong to mask SPRs to 8 bits.

PR 21118
* config/tc-ppc.c (md_assemble): Don't mask register number.

(cherry picked from commit 4b1c0f7e85f2aec3df3498d04b5beaf45813dea8)

gas/ChangeLog
gas/config/tc-ppc.c

index 91917800419461d87d197551fe5abe264d214161..6eb20f0b86ea7ab730b339a28967c105c701988d 100644 (file)
@@ -1,3 +1,8 @@
+2017-12-12  Alan Modra  <amodra@gmail.com>
+
+       PR 21118
+       * config/tc-ppc.c (md_assemble): Don't mask register number.
+
 2017-11-01  Alan Modra  <amodra@gmail.com>
 
        Apply from master
index e8dfbc4bb603f873cdf1d42f24b2abadfb165b78..f0724a3ceaa184c2950f4526ac0b4a9cfb9de452 100644 (file)
@@ -2977,7 +2977,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)