mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 21:41:47 +08:00
sim: aarch64: fix 64-bit immediate shifts
Trying to shift immediates 63 bits fails on 32-bit systems since UL is only 32-bits, not 64-bits. Switch to ULL to guarantee at least 64-bits here.
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2021-05-01 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* simulator.c (do_fcvtzu): Change UL to ULL.
|
||||
|
||||
2021-04-26 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* aclocal.m4, config.in, configure: Regenerate.
|
||||
|
@ -8420,7 +8420,7 @@ do_fcvtzu (sim_cpu *cpu)
|
||||
uint64_t value = (uint64_t) d;
|
||||
|
||||
/* Do not raise an exception if we have reached ULONG_MAX. */
|
||||
if (value != (1UL << 63))
|
||||
if (value != (1ULL << 63))
|
||||
RAISE_EXCEPTIONS (d, value, DOUBLE, ULONG);
|
||||
|
||||
aarch64_set_reg_u64 (cpu, rd, NO_SP, value);
|
||||
@ -8431,7 +8431,7 @@ do_fcvtzu (sim_cpu *cpu)
|
||||
uint64_t value = (uint64_t) f;
|
||||
|
||||
/* Do not raise an exception if we have reached ULONG_MAX. */
|
||||
if (value != (1UL << 63))
|
||||
if (value != (1ULL << 63))
|
||||
RAISE_EXCEPTIONS (f, value, FLOAT, ULONG);
|
||||
|
||||
aarch64_set_reg_u64 (cpu, rd, NO_SP, value);
|
||||
|
Reference in New Issue
Block a user