diff options
author | Alan Modra <amodra@gmail.com> | 2012-02-27 12:36:21 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-02-27 12:36:21 +0000 |
commit | 805e800d043bc07719e6308bc07ea22d871d4961 (patch) | |
tree | 252d74546d0291e49cd6fd6ba2a4317d5d704261 /gas/config/tc-crx.c | |
parent | 709bcda1f4cadba77857bb163156ffc170222b77 (diff) | |
download | gdb-805e800d043bc07719e6308bc07ea22d871d4961.zip gdb-805e800d043bc07719e6308bc07ea22d871d4961.tar.gz gdb-805e800d043bc07719e6308bc07ea22d871d4961.tar.bz2 |
* config/tc-crx.c (check_range): Correct uint32_t misconceptions.
Diffstat (limited to 'gas/config/tc-crx.c')
-rw-r--r-- | gas/config/tc-crx.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gas/config/tc-crx.c b/gas/config/tc-crx.c index 775781b..3b06a78 100644 --- a/gas/config/tc-crx.c +++ b/gas/config/tc-crx.c @@ -1331,9 +1331,6 @@ check_range (long *num, int bits, int unsigned flags, int update) uint32_t upper_64kb = 0xffff0000; uint32_t value = *num; - /* Trim all values to 32 bits. uint32_t can be more than 32 bits. */ - value &= 0xffffffff; - /* Verify operand value is even. */ if (flags & OP_EVEN) { @@ -1361,7 +1358,7 @@ check_range (long *num, int bits, int unsigned flags, int update) value is implementation defined. See ISO C 6.5.7. So we use an unsigned type and sign extend afterwards. */ value >>= 1; - value = ((value ^ 0x40000000) - 0x40000000) & 0xffffffff; + value = (value ^ 0x40000000) - 0x40000000; if (update) *num = value; } @@ -1407,7 +1404,7 @@ check_range (long *num, int bits, int unsigned flags, int update) for (bin = 0; bin < cst4_maps; bin++) { - if (value == ((uint32_t) cst4_map[bin] & 0xffffffff)) + if (value == (uint32_t) cst4_map[bin]) { is_cst4 = 1; if (update) |