[Bug target/15184] [4.8/4.9/5 Regression] Direct access to byte inside word not working with -march=pentiumpro

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Mon Jan 26 19:14:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=15184

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |law at redhat dot com

--- Comment #30 from Jeffrey A. Law <law at redhat dot com> ---
Actually better to handle this in combine rather than the backend.  The problem
is the "to-be-inserted" bits have different canonical forms depending on where
we're inserting them.  if it's the low bits it might be (subreg....) or a
zero_extend.  If it's middle bits, there's an (and ..) and if its in the high
bits, then there's an (ashift ...)

It gets even uglier when we start looking at the 2nd pair of tests

By nailing it down in combine, other targets benefit as well.  For the
combiner, the first two tests (and a couple of my own) are pretty easy.

It's far enough along that taking ownership seems to make sense.  Attacking the
problem in bswap would be good, but obviously further out.



More information about the Gcc-bugs mailing list