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?

Reply via email to