On Thu, Feb 7, 2019 at 9:49 AM H.J. Lu <hjl.to...@gmail.com> wrote:
>
> Standard scalar operation patterns which preserve the rest of the vector
> look like
>
>      (vec_merge:V2DF
>        (vec_duplicate:V2DF
>          (op:DF (vec_select:DF (reg/v:V2DF 85 [ x ])
>                 (parallel [ (const_int 0 [0])]))
>          (reg:DF 87))
>        (reg/v:V2DF 85 [ x ])
>        (const_int 1 [0x1])]))
>
> Add such pattens to i386 backend and convert VEC_CONCAT patterns to
> standard standard scalar operation patterns.
>
> gcc/
>
>         PR target/54855
>         * simplify-rtx.c (simplify_binary_operation_1): Convert
>         VEC_CONCAT patterns to standard standard scalar operation
>         patterns.
>         * config/i386/sse.md (*<sse>_vm<plusminus_insn><mode>3): New.
>         (*<sse>_vm<multdiv_mnemonic><mode>3): Likewise.
>
> gcc/testsuite/
>
>         PR target/54855
>         * gcc.target/i386/pr54855-1.c: New test.
>         * gcc.target/i386/pr54855-2.c: Likewise.
>         * gcc.target/i386/pr54855-3.c: Likewise.
>         * gcc.target/i386/pr54855-4.c: Likewise.
>         * gcc.target/i386/pr54855-5.c: Likewise.
>         * gcc.target/i386/pr54855-6.c: Likewise.
>         * gcc.target/i386/pr54855-7.c: Likewise.

PING:

https://gcc.gnu.org/ml/gcc-patches/2019-02/msg00398.html


-- 
H.J.

Reply via email to