[Bug middle-end/88739] Big-endian union bug
wilco at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 7 16:28:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88739
--- Comment #3 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to Richard Earnshaw from comment #2)
> > _23 = BIT_FIELD_REF <_2, 16, 0>; // WRONG: should be _2, 14, 0
>
> _2 is declared as a 30-bit integer, so perhaps the statement is right, but
> expand needs to understand that the shift extract of the top 16 bits comes
> from a different location in big-endian.
So the question becomes what format is this in?
<unnamed-unsigned:30> _2;
Is it big-endian memory format (so value is in top 30 bits) or simply a 30-bit
value in a virtual register?
More information about the Gcc-bugs
mailing list