1 # DP: Fix PR gas/12715, taken from the trunk
3 diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
4 index af8c4aa..33c5deb 100644
5 --- a/gas/config/tc-arm.c
6 +++ b/gas/config/tc-arm.c
7 @@ -4450,7 +4450,7 @@ parse_big_immediate (char **str, int i)
8 /* If we're on a 64-bit host, then a 64-bit number can be returned using
9 O_constant. We have to be careful not to break compilation for
10 32-bit X_add_number, though. */
11 - if ((exp.X_add_number & ~0xffffffffl) != 0)
12 + if ((exp.X_add_number & ~(offsetT)(0xffffffffU)) != 0)
14 /* X >> 32 is illegal if sizeof (exp.X_add_number) == 4. */
15 inst.operands[i].reg = ((exp.X_add_number >> 16) >> 16) & 0xffffffff;
16 diff --git a/gas/testsuite/gas/arm/neon-const.d b/gas/testsuite/gas/arm/neon-const.d
17 index a1bc97c..6c46930 100644
18 --- a/gas/testsuite/gas/arm/neon-const.d
19 +++ b/gas/testsuite/gas/arm/neon-const.d
20 @@ -263,3 +263,4 @@ Disassembly of section .text:
21 0[0-9a-f]+ <[^>]+> f3850f5f vmov\.f32 q0, #-0\.484375 ; 0xbef80000
22 0[0-9a-f]+ <[^>]+> f3860f5f vmov\.f32 q0, #-0\.96875 ; 0xbf780000
23 0[0-9a-f]+ <[^>]+> f3870f5f vmov\.f32 q0, #-1\.9375 ; 0xbff80000
24 +0[0-9a-f]+ <[^>]+> f3879e3f vmov\.i64 d9, #0xffffffffffffffff
25 diff --git a/gas/testsuite/gas/arm/neon-const.s b/gas/testsuite/gas/arm/neon-const.s
26 index a6fb550..aaaf144 100644
27 --- a/gas/testsuite/gas/arm/neon-const.s
28 +++ b/gas/testsuite/gas/arm/neon-const.s
30 vmov.f32 q0, -0.484375
34 + vmov.i64 d9, #0xffffffffffffffff