i386: Fix the pmovzx SSE4.1 define_insn_and_split patterns [PR98670]
authorJakub Jelinek <jakub@redhat.com>
Thu, 14 Jan 2021 11:55:19 +0000 (12:55 +0100)
committerJakub Jelinek <jakub@redhat.com>
Thu, 14 Jan 2021 11:56:18 +0000 (12:56 +0100)
commit0efdc7b31c2aeb3b0414a838e90014172b87302f
treef293dad1cd762822a8d68ca81820fff61c1822de
parent8f8762a2e8659c1db802ba001869085c1915498f
i386: Fix the pmovzx SSE4.1 define_insn_and_split patterns [PR98670]

I've made two mistakes in the *sse4_1_zero_extend* define_insn_and_split
patterns.  One is that when it uses vector_operand, it should use Bm rather
than m constraint, and the other one is that because it is a post-reload
splitter it needs isa attribute to select which alternatives are valid for
which ISAs.  Sorry for messing this up.

2021-01-14  Jakub Jelinek  <jakub@redhat.com>

PR target/98670
* config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3,
*sse4_1_zero_extendv4hiv4si2_3, *sse4_1_zero_extendv2siv2di2_3):
Use Bm instead of m for non-avx.  Add isa attribute.

* gcc.target/i386/pr98670.c: New test.
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/pr98670.c [new file with mode: 0644]