diff --git a/gas/ChangeLog b/gas/ChangeLog index 4fecbe51178..1b48ea4bd02 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2016-03-30 Nick Clifton <nickc@redhat.com> + + PR target/19880 + * config/tc-arm.c (do_t_push_pop): Cast bitmask to unsigned before + shifting. + 2016-03-30 Claudiu Zissulescu <claziss@synopsys.com> * testsuite/gas/all/gas.exp: Don't xfail on ARC. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index bec091c15d4..9c2eef5901a 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -12516,7 +12516,7 @@ do_t_push_pop (void) if (inst.size_req != 4 && (mask & ~0xff) == 0) inst.instruction = THUMB_OP16 (inst.instruction) | mask; else if (inst.size_req != 4 - && (mask & ~0xff) == (1 << (inst.instruction == T_MNEM_push + && (mask & ~0xff) == (1U << (inst.instruction == T_MNEM_push ? REG_LR : REG_PC))) { inst.instruction = THUMB_OP16 (inst.instruction);