Ping?

On Sat, 26 Jul 2014, Marc Glisse wrote:

Hello,

any comment on this patch?
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00769.html

On Tue, 10 Jun 2014, Marc Glisse wrote:

On Tue, 19 Mar 2013, Richard Henderson wrote:

I'm not fond of this, primarily because I believe the pattern should
not exist at all.

One year later, new try. Tweaking the pattern, I ended up with a copy of the mov pattern (the subreg is generated automatically when the modes don't match), so I just removed it. I know the comment in emit-rtl.c says splitters are a better way forward than subregs, but I haven't managed with splitters while the subreg patch is very simple :-) I added a -O0 testcase because when I was experimenting I had many versions that worked for -O2 but ICEd at -O0 (and vice versa), but it might be redundant with some other tests.

Bootstrap+testsuite on x86_64-linux-gnu.

2014-06-10  Marc Glisse  <marc.gli...@inria.fr>

        PR target/50829
gcc/
        * config/i386/sse.md (enum unspec): Remove UNSPEC_CAST.
        (avx_<castmode><avxsizesuffix>_<castmode>): Remove.
        * config/i386/i386.c (builtin_description) [__builtin_ia32_si256_si,
        __builtin_ia32_ps256_ps, __builtin_ia32_pd256_pd]: Replace the
        removed insn with mov.
        * emit-rtl.c (validate_subreg): Allow vector-vector subregs.

gcc/testsuite/
        * gcc.target/i386/pr50829-1.c: New file.
        * gcc.target/i386/pr50829-2.c: New file.

--
Marc Glisse

Reply via email to