On 12/07/2012 04:02 PM, Marc Glisse wrote:
> 2012-12-08  Marc Glisse  <marc.gli...@inria.fr>
> 
>     PR target/54855
> gcc/
>     * config/i386/sse.md (<sse>_vm<plusminus_insn><mode>3): Rewrite
>     pattern.
>     (sse2_loadlpd, sse2_loadhpd): Use vec_merge.
>     * config/i386/i386-builtin-types.def: New function types.
>     * config/i386/i386.c (ix86_expand_args_builtin): Likewise.
>     (bdesc_args) <__builtin_ia32_addss, __builtin_ia32_subss,
>     __builtin_ia32_addsd, __builtin_ia32_subsd>: Change prototype.
>     (ix86_expand_vector_set): Use vec_merge for V2DF.
>     * config/i386/xmmintrin.h: Adapt to new builtin prototype.
>     * config/i386/emmintrin.h: Likewise.
>     * doc/extend.texi (X86 Built-in Functions): Document changed prototype.
> 
> testsuite/
>     * gcc.target/i386/pr54855-1.c: New testcase.
>     * gcc.target/i386/pr54855-2.c: New testcase.

This looks like the right approach.

I won't approve this for 4.8 because (1) this isn't a regression,
and (2) all of the other operations want to be handled similarly.

But I'll approve this for 4.9 as part 1 of a series.  (That need
not be developed and committed all at once, but will be all done
before the end of the next stage1.)


r~

Reply via email to