[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/22335] Gas expression solver can cause wrong code for 32-bit BF
From: |
amodra at gmail dot com |
Subject: |
[Bug gas/22335] Gas expression solver can cause wrong code for 32-bit BFD builds. |
Date: |
Mon, 30 Oct 2017 03:29:43 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=22335
Alan Modra <amodra at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amodra at gmail dot com
--- Comment #3 from Alan Modra <amodra at gmail dot com> ---
> .dc.l ((0x17<<23)+((0xfede4194/8192)<<4)+8)
>
> That's because gas is doing a signed divide, and 0xfede4194 is negative
> as a 32-bit number.
Yes, exactly. It might be possible to make a gas expression behave a little
more like the equivalent C expression by making sure the X_unsigned flag is
properly set, propagated, and affects arithmetic and comparison operators.
There is a lot more than just division to fix.
--
You are receiving this mail because:
You are on the CC list for the bug.