aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+binutils@tbsaunde.org>2016-05-18 22:39:18 -0400
committerTrevor Saunders <tbsaunde+binutils@tbsaunde.org>2016-05-23 01:20:09 -0400
commit2900e701e0f0216b17e04e4fff1ca4711a9c072f (patch)
tree99ac4c26920dcefbc1d7a954f9cb716d2731bc61
parent3d207518c117df7a6c58f20bc2693171b7690650 (diff)
downloadfsf-binutils-gdb-2900e701e0f0216b17e04e4fff1ca4711a9c072f.zip
fsf-binutils-gdb-2900e701e0f0216b17e04e4fff1ca4711a9c072f.tar.gz
fsf-binutils-gdb-2900e701e0f0216b17e04e4fff1ca4711a9c072f.tar.bz2
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 <tbsaunde+binutils@tbsaunde.org> * config/tc-spu.c (APUOP): Use OPCODE as an unsigned constant.
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-spu.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 20c8702..6809c67 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
+ * config/tc-spu.c (APUOP): Use OPCODE as an unsigned constant.
+
+2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
+
* config/tc-tic54x.c (tic54x_mmregs): Adjust.
(md_begin): Likewise.
(encode_condition): Likewise.
diff --git a/gas/config/tc-spu.c b/gas/config/tc-spu.c
index c08dcb5..24969c9 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"