https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92658

--- Comment #21 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to CVS Commits from comment #14)
> The master branch has been updated by Uros Bizjak <u...@gcc.gnu.org>:
> 
> https://gcc.gnu.org/g:f6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
> 
> commit r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
> Author: Uros Bizjak <ubiz...@gmail.com>
> Date:   Tue May 19 11:25:46 2020 +0200
> 
>     i386: Add missing vector zero/sign extend expanders [PR92658]
>     
>     2020-05-19  Uroš Bizjak  <ubiz...@gmail.com>
>     
>     gcc/ChangeLog:
>             PR target/92658
>             * config/i386/sse.md (<code>v16qiv16hi2): New expander.
>             (<code>v32qiv32hi2): Ditto.
>             (<code>v8qiv8hi2): Ditto.
>             (<code>v16qiv16si2): Ditto.
>             (<code>v8qiv8si2): Ditto.
>             (<code>v4qiv4si2): Ditto.
>             (<code>v16hiv16si2): Ditto.
>             (<code>v8hiv8si2): Ditto.
>             (<code>v4hiv4si2): Ditto.
>             (<code>v8qiv8di2): Ditto.
>             (<code>v4qiv4di2): Ditto.
>             (<code>v2qiv2di2): Ditto.
>             (<code>v8hiv8di2): Ditto.
>             (<code>v4hiv4di2): Ditto.
>             (<code>v2hiv2di2): Ditto.
>             (<code>v8siv8di2): Ditto.
>             (<code>v4siv4di2): Ditto.
>             (<code>v2siv2di2): Ditto.
>     

<code> for sign_extend is sign_extend, but the standard pattern names for
sign_extend is extendmn. We need to to refine those expanders

Add define_code_attr like aarch64/iterators.md?

----------
;; Map rtl objects to optab names
(define_code_attr optab [(ashift "ashl")
                         (ashiftrt "ashr")
                         (lshiftrt "lshr")
                         (rotatert "rotr")
                         (sign_extend "extend")
                         (zero_extend "zero_extend")
----------

>     gcc/testsuite/ChangeLog:
>             PR target/92658
>             * gcc.target/i386/pr92658-sse4.c: New test.
>             * gcc.target/i386/pr92658-avx2.c: New test.
>             * gcc.target/i386/pr92658-avx512bw.c: New test.

Reply via email to