This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/7061] Alpha: Access of bytes in struct parameters
- From: "falk dot hueffner at student dot uni-tuebingen dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Jun 2003 10:04:40 -0000
- Subject: [Bug optimization/7061] Alpha: Access of bytes in struct parameters
- References: <20020617164601.7061.falk.hueffner@student.uni-tuebingen.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7061
------- Additional Comments From falk.hueffner@student.uni-tuebingen.de 2003-06-08 10:04 -------
Subject: Re: Alpha: Access of bytes in struct parameters
"dhazeghi@yahoo.com" <gcc-bugzilla@gcc.gnu.org> writes:
> I don't know Alpha assembly, but here's what gcc 3.3 branch
> produces. I take it this is still not optimal?
Indeed (the code is even worse than it looks, because it will produce
a replay trap, so it can easily take 10-20 cycles). This seems to be a
well-known problem, it was recently discussed on the gcc-list
(http://gcc.gnu.org/ml/gcc/2003-06/msg00629.html). Unfortunately, the
proposed idea of special-casing one field per register wouldn't help
here. However, the fact that gcc produces optimal code for the
bit-field case indicates that it might be possible to improve the
situation without large changes like introducing new RTL.