From 2900e701e0f0216b17e04e4fff1ca4711a9c072f Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Wed, 18 May 2016 22:39:18 -0400 Subject: [PATCH] spu: make some constants unsigned The field in spu_opcode is unsigned, and for some values of opcode we can end up shifting into the high bit. So avoid possibly creating a negative number and then assigning it to a unsigned field by shifting an unsigned constant. gas/ChangeLog: 2016-05-23 Trevor Saunders * config/tc-spu.c (APUOP): Use OPCODE as an unsigned constant. --- gas/ChangeLog | 4 ++++ gas/config/tc-spu.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 20c87025fbc..6809c67766b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2016-05-23 Trevor Saunders + + * config/tc-spu.c (APUOP): Use OPCODE as an unsigned constant. + 2016-05-23 Trevor Saunders * config/tc-tic54x.c (tic54x_mmregs): Adjust. diff --git a/gas/config/tc-spu.c b/gas/config/tc-spu.c index c08dcb56475..24969c97abd 100644 --- a/gas/config/tc-spu.c +++ b/gas/config/tc-spu.c @@ -26,7 +26,7 @@ const struct spu_opcode spu_opcodes[] = { #define APUOP(TAG,MACFORMAT,OPCODE,MNEMONIC,ASMFORMAT,DEP,PIPE) \ - { MACFORMAT, (OPCODE) << (32-11), MNEMONIC, ASMFORMAT }, + { MACFORMAT, (OPCODE ## u) << (32-11), MNEMONIC, ASMFORMAT }, #define APUOPFB(TAG,MACFORMAT,OPCODE,FB,MNEMONIC,ASMFORMAT,DEP,PIPE) \ { MACFORMAT, ((OPCODE) << (32-11)) | ((FB) << (32-18)), MNEMONIC, ASMFORMAT }, #include "opcode/spu-insns.h" -- 2.30.2