OSDN Git Service

Split AVX vec_extract_lo_XXX and 128bit to 256bit cast.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Jun 2010 14:11:23 +0000 (14:11 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Jun 2010 14:11:23 +0000 (14:11 +0000)
commit3d1a0207b1f2cfe22dbdd2ed966eaf9ea28080a6
tree011976420f9976f0d209bb6859f20bd36eb5f710
parent98b1457bf48cd07a93f00f2f748f46fce55077c0
Split AVX vec_extract_lo_XXX and 128bit to 256bit cast.
Remove 256bit to 128bit cast.

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

* config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
and CODE_FOR_vec_extract_lo_v4df.

* config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
Changed to define_insn_and_split.
(vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
(vec_extract_lo_v16hi): Likewise.
(vec_extract_lo_v32qi): Likewise.
(avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
(avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161279 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/sse.md