This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RTL, i386] Use subreg instead of UNSPEC_CAST
- From: Richard Henderson <rth at redhat dot com>
- To: Marc Glisse <marc dot glisse at inria dot fr>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 20 Mar 2013 08:13:26 -0700
- Subject: Re: [RTL, i386] Use subreg instead of UNSPEC_CAST
- References: <alpine dot DEB dot 2 dot 02 dot 1303191627200 dot 4515 at stedding dot saclay dot inria dot fr> <5148D1FC dot 7000708 at redhat dot com> <alpine dot DEB dot 2 dot 02 dot 1303192309130 dot 3872 at laptop-mg dot saclay dot inria dot fr>
On 03/20/2013 08:00 AM, Marc Glisse wrote:
> Do you at least agree that vector-vector subregs make sense, or is that part
> wrong as well?
You mean a V4SImode subreg of a V8SImode register, not just same-size casting?
It makes logical sense, but I'm fairly sure you'll need a lot more surgery
throughout the compiler to make that happen.
I'm curious how a define_expand can fail in LRA, but your define_insn succeeds?
Is the failure because of ix86_cannot_change_mode_class? Because that hook
fairly well defines what subregs are valid. And if that says it isn't valid,
then even having a define_insn that uses such is wrong.
r~