aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-arm.c2
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/arm/neon-const.d1
-rw-r--r--gas/testsuite/gas/arm/neon-const.s2
5 files changed, 16 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 56a0177..61843fa 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ PR gas/12715
+ * config/tc-arm.c (parse_big_immediate): Fix parsing of 64-bit
+ immediates on 32-bit hosts.
+
2011-05-10 Quentin Neill <quentin.neill@amd.com>
* config/tc-i386.c (cpu_arch): Add bdver2 and rename
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index a0b31a0..64a71e8 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -4459,7 +4459,7 @@ parse_big_immediate (char **str, int i)
/* If we're on a 64-bit host, then a 64-bit number can be returned using
O_constant. We have to be careful not to break compilation for
32-bit X_add_number, though. */
- if ((exp.X_add_number & ~0xffffffffl) != 0)
+ if ((exp.X_add_number & ~(offsetT)(0xffffffffU)) != 0)
{
/* X >> 32 is illegal if sizeof (exp.X_add_number) == 4. */
inst.operands[i].reg = ((exp.X_add_number >> 16) >> 16) & 0xffffffff;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index f1ba989..1b70d3d 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ PR gas/12715
+ * gas/arm/neon-const.s: Add testcase for 64-bit Neon constants.
+ * gas/arm/neon-const.d: Likewise.
+
2011-05-11 Richard Sandiford <rdsandiford@googlemail.com>
* gas/mips/24k-branch-delay-1.d: Allow 64-bit addresses. Stub out
diff --git a/gas/testsuite/gas/arm/neon-const.d b/gas/testsuite/gas/arm/neon-const.d
index a1bc97c..6c46930 100644
--- a/gas/testsuite/gas/arm/neon-const.d
+++ b/gas/testsuite/gas/arm/neon-const.d
@@ -263,3 +263,4 @@ Disassembly of section .text:
0[0-9a-f]+ <[^>]+> f3850f5f vmov\.f32 q0, #-0\.484375 ; 0xbef80000
0[0-9a-f]+ <[^>]+> f3860f5f vmov\.f32 q0, #-0\.96875 ; 0xbf780000
0[0-9a-f]+ <[^>]+> f3870f5f vmov\.f32 q0, #-1\.9375 ; 0xbff80000
+0[0-9a-f]+ <[^>]+> f3879e3f vmov\.i64 d9, #0xffffffffffffffff
diff --git a/gas/testsuite/gas/arm/neon-const.s b/gas/testsuite/gas/arm/neon-const.s
index a6fb550..aaaf144 100644
--- a/gas/testsuite/gas/arm/neon-const.s
+++ b/gas/testsuite/gas/arm/neon-const.s
@@ -295,3 +295,5 @@
vmov.f32 q0, -0.484375
vmov.f32 q0, -0.96875
vmov.f32 q0, -1.9375
+
+ vmov.i64 d9, #0xffffffffffffffff