summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-08-28 10:25:36 +0000
committerNick Clifton <nickc@redhat.com>2013-08-28 10:25:36 +0000
commitc861c7f78168567b04927ab91e02b0609ec009d6 (patch)
treed7adf6181798c17693da3ea2d8dd829b1d81793f /opcodes
parenta275c10ae1ad15d689066599b6f8f2a8833a6071 (diff)
downloadbinutils-redhat-c861c7f78168567b04927ab91e02b0609ec009d6.tar.gz
* aarch64-opc.c (aarch64_logical_immediate_p): Return FALSE if the
immediate is not suitable for the 32-bit ABI. * gas/aarch64/illegal.s: Add illegal constant for logical operation. * gas/aarch64/illegal.l: Add expected error message.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/aarch64-opc.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index ce6aebecf1..6966b95c27 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-28 Nick Clifton <nickc@redhat.com>
+
+ * aarch64-opc.c (aarch64_logical_immediate_p): Return FALSE if the
+ immediate is not suitable for the 32-bit ABI.
+
2013-08-23 Maciej W. Rozycki <macro@codesourcery.com>
* micromips-opc.c (micromips_opcodes): Use RD_4 for "alnv.ps",
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 74f2826035..f32ee5ec2f 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -1063,7 +1063,8 @@ aarch64_logical_immediate_p (uint64_t value, int is32, aarch64_insn *encoding)
/* Allow all zeros or all ones in top 32-bits, so that
constant expressions like ~1 are permitted. */
if (value >> 32 != 0 && value >> 32 != 0xffffffff)
- return 0xffffffff;
+ return FALSE;
+
/* Replicate the 32 lower bits to the 32 upper bits. */
value &= 0xffffffff;
value |= value << 32;