i386.md (isa): Add x64_sse4 member.
authorUros Bizjak <ubizjak@gmail.com>
Mon, 6 May 2013 19:53:43 +0000 (21:53 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 6 May 2013 19:53:43 +0000 (21:53 +0200)
commitf75e6a516eee1546b54d4377d19fd6e0fca74432
treee60833f48321b00e669f848b37c1f6d4ddeed3b5
parenta986d46838c658922d34b95f5878fbbca8b519c1
i386.md (isa): Add x64_sse4 member.

* config/i386/i386.md (isa): Add x64_sse4 member.
(enabled): Handle x64_sse4.
(*movdi_internal): Add *x->?r alternative to emit pextrq $0,%xmm,%reg
instruction for 64bit SSE4_1 targets.  Update insn attributes.
(*movsi_internal): Add *x->?r alternative to emit pextrd $0,%xmm,%reg
instruction for SSE4_1 targets.  Update insn attributes.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
with *sse4_1_pextrd and *sse4_1_pextrq having const_0 selector.
(*vec_extractv2di_1): Merge with *sse4_1_pextrq having
const_1 selector.
(*vec_extractv4si): Rename from *sse4_1_pextrd.
(*vec_extractv4si_zext): Rename from *sse4_1_pextrd_zext.
(*vec_extract<ssevecmodelower>_0 splitters): Merge splitters together.

From-SVN: r198643
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/config/i386/sse.md