From 16af7fd4498223c4aa52ec1af0f5763b1006368b Mon Sep 17 00:00:00 2001 From: Matthew Gretton-Dann Date: Fri, 13 May 2011 14:19:03 +0000 Subject: [PATCH] Apply from mainline. 2011-05-12 Matthew Gretton-Dann PR gas/12715 * gas/config/tc-arm.c (parse_big_immediate): Fix parsing of 64-bit immediates on 32-bit hosts. * gas/testsuite/gas/arm/neon-const.s: Add testcase for 64-bit Neon constants. * gas/testsuite/gas/arm/neon-const.d: Likewise. --- gas/ChangeLog | 8 ++++++++ gas/config/tc-arm.c | 2 +- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/gas/arm/neon-const.d | 1 + gas/testsuite/gas/arm/neon-const.s | 2 ++ 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 8b71bdfce0e..c3358085186 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2011-05-13 Matthew Gretton-Dann + + Apply from mainline. + 2011-05-12 Matthew Gretton-Dann + PR gas/12715 + * config/tc-arm.c (parse_big_immediate): Fix parsing of 64-bit + immediates on 32-bit hosts. + 2011-05-13 Frederic Marchal PR gas/12755 diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index f4ebdc4e249..4addafce1ff 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -4421,7 +4421,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 be592237710..211debff432 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2011-05-13 Matthew Gretton-Dann + + Apply from mainline. + 2011-05-12 Matthew Gretton-Dann + PR gas/12715 + * gas/arm/neon-const.s: Add testcase for 64-bit Neon constants. + * gas/arm/neon-const.d: Likewise. + 2011-04-27 Alan Modra Apply from mainline. diff --git a/gas/testsuite/gas/arm/neon-const.d b/gas/testsuite/gas/arm/neon-const.d index a1bc97cf381..6c46930b7e0 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 a6fb55075a9..aaaf1441231 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 -- 2.47.3