This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Disallow i?86/x86_64 movstrict<mode> for subregs of non-MODE_INT regs (PR target/48678)
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 19 Apr 2011 18:32:39 +0200
- Subject: Re: [PATCH] Disallow i?86/x86_64 movstrict<mode> for subregs of non-MODE_INT regs (PR target/48678)
- References: <20110419145936.GK17079@tyan-ft48-01.lab.bos.redhat.com>
On Tue, Apr 19, 2011 at 4:59 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> Since MEM_REF has been added, we can unlike in 4.5 and earlier, arbitrary
> VCEs on the LHS. ?Reload isn't able to reload
> (strict_low_part (subreg:HI (reg:V2DI ...)))
> on the LHS, while it probably should be taught to do that, such
> movstrict[qh]i IMHO will only very rarely lead to good code,
> unless pinsrw/pinsrq can be used (currently we have not a suitable
> movstrict* pattern using pinsr*).
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk/4.6?
>
> 2011-04-19 ?Jakub Jelinek ?<jakub@redhat.com>
>
> ? ? ? ?PR target/48678
> ? ? ? ?* config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
> ? ? ? ?is a SUBREG with non-MODE_INT mode inside of it.
>
> ? ? ? ?* gcc.target/i386/pr48678.c: New test.
OK.
Thanks,
Uros.