aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.c
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2010-06-23 14:11:23 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2010-06-23 07:11:23 -0700
commit9b2133cd43147d8172168d193015f222d8f2fe61 (patch)
tree011976420f9976f0d209bb6859f20bd36eb5f710 /gcc/config/i386/i386.c
parente487f350e432d9182a0e19da9c5eb444caba8d0c (diff)
downloadgcc-9b2133cd43147d8172168d193015f222d8f2fe61.zip
gcc-9b2133cd43147d8172168d193015f222d8f2fe61.tar.gz
gcc-9b2133cd43147d8172168d193015f222d8f2fe61.tar.bz2
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. From-SVN: r161279
Diffstat (limited to 'gcc/config/i386/i386.c')
-rw-r--r--gcc/config/i386/i386.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 76be5d5..d5a91e6 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -22457,9 +22457,9 @@ static const struct builtin_description bdesc_args[] =
{ OPTION_MASK_ISA_AVX, CODE_FOR_avx_si256_si, "__builtin_ia32_si256_si", IX86_BUILTIN_SI256_SI, UNKNOWN, (int) V8SI_FTYPE_V4SI },
{ OPTION_MASK_ISA_AVX, CODE_FOR_avx_ps256_ps, "__builtin_ia32_ps256_ps", IX86_BUILTIN_PS256_PS, UNKNOWN, (int) V8SF_FTYPE_V4SF },
{ OPTION_MASK_ISA_AVX, CODE_FOR_avx_pd256_pd, "__builtin_ia32_pd256_pd", IX86_BUILTIN_PD256_PD, UNKNOWN, (int) V4DF_FTYPE_V2DF },
- { OPTION_MASK_ISA_AVX, CODE_FOR_avx_si_si256, "__builtin_ia32_si_si256", IX86_BUILTIN_SI_SI256, UNKNOWN, (int) V4SI_FTYPE_V8SI },
- { OPTION_MASK_ISA_AVX, CODE_FOR_avx_ps_ps256, "__builtin_ia32_ps_ps256", IX86_BUILTIN_PS_PS256, UNKNOWN, (int) V4SF_FTYPE_V8SF },
- { OPTION_MASK_ISA_AVX, CODE_FOR_avx_pd_pd256, "__builtin_ia32_pd_pd256", IX86_BUILTIN_PD_PD256, UNKNOWN, (int) V2DF_FTYPE_V4DF },
+ { OPTION_MASK_ISA_AVX, CODE_FOR_vec_extract_lo_v8si, "__builtin_ia32_si_si256", IX86_BUILTIN_SI_SI256, UNKNOWN, (int) V4SI_FTYPE_V8SI },
+ { OPTION_MASK_ISA_AVX, CODE_FOR_vec_extract_lo_v8sf, "__builtin_ia32_ps_ps256", IX86_BUILTIN_PS_PS256, UNKNOWN, (int) V4SF_FTYPE_V8SF },
+ { OPTION_MASK_ISA_AVX, CODE_FOR_vec_extract_lo_v4df, "__builtin_ia32_pd_pd256", IX86_BUILTIN_PD_PD256, UNKNOWN, (int) V2DF_FTYPE_V4DF },
{ OPTION_MASK_ISA_AVX, CODE_FOR_avx_vtestpd, "__builtin_ia32_vtestzpd", IX86_BUILTIN_VTESTZPD, EQ, (int) INT_FTYPE_V2DF_V2DF_PTEST },
{ OPTION_MASK_ISA_AVX, CODE_FOR_avx_vtestpd, "__builtin_ia32_vtestcpd", IX86_BUILTIN_VTESTCPD, LTU, (int) INT_FTYPE_V2DF_V2DF_PTEST },