Properly handle psrldq when optimizing for Atom.
authorH.J. Lu <hongjiu.lu@intel.com>
Mon, 21 Jun 2010 21:56:47 +0000 (21:56 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Mon, 21 Jun 2010 21:56:47 +0000 (14:56 -0700)
commitc1b157a601ea9c1d2611d6b951ec0e46cc27ea01
treeebf152f2e86bd4364b0513da3280d3c96e87dd9a
parentc8259dd92ee1b0ac6b7e96509ee49abcf123f630
Properly handle psrldq when optimizing for Atom.

gcc/

2010-06-21  H.J. Lu  <hongjiu.lu@intel.com>

PR target/44615
* config/i386/atom.md (atom_sseishft_2): Also check sseishft1.

* config/i386/i386.md (type): Add sseishft1

* config/i386/ppro_insn (ppro_insn): Also check sseishft1.
(ppro_insn_load): Likewise.
(ppro_insn_store): Likewise.
(ppro_insn_both): Likewise.

* config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
(*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
for type.
(*vec_extractv2di_1_avx): Likewise.
(*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
type.  Remove atom_unit.
(*vec_extractv2di_1_sse2): Likewise.

gcc/testsuite/

2010-06-21  H.J. Lu  <hongjiu.lu@intel.com>

PR target/44615
* gcc.target/i386/sse2-vec-2a.c: New.

From-SVN: r161118
gcc/ChangeLog
gcc/config/i386/atom.md
gcc/config/i386/i386.md
gcc/config/i386/ppro.md
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/sse2-vec-2a.c [new file with mode: 0644]