This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/15184] [4.8/4.9/5 Regression] Direct access to byte inside word not working with -march=pentiumpro
- From: "law at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 26 Jan 2015 19:13:54 +0000
- Subject: [Bug target/15184] [4.8/4.9/5 Regression] Direct access to byte inside word not working with -march=pentiumpro
- Auto-submitted: auto-generated
- References: <bug-15184-4 at http dot gcc dot gnu dot org/bugzilla/>
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.