* config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an optional 3rd argument to define the mode. * config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New. (V2UDI, V4USI, V8UHI, V16UQI): New. (V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI, V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI, V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New. * config/i386/i386-modes.def: Rearrange for double-wide AVX. * config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New. * config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New. (bdesc_args): Add the builtin definitions to match. (ix86_expand_builtin): Expand them. (ix86_builtin_vectorization_cost): Rename from x86_builtin_vectorization_cost. (ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d, doublesize_vector_mode, expand_vselect, expand_vselect_vconcat, expand_vec_perm_blend, expand_vec_perm_vpermil, expand_vec_perm_pshufb, expand_vec_perm_1, expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr, expand_vec_perm_interleave2, expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1, expand_vec_perm_even_odd, ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst, ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok, ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM, TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New. * sse.md (SSEMODE_EO): New. (vec_extract_even<mode>): Use SSEMODE_EO and ix86_expand_vec_extract_even_odd. (vec_extract_odd<mode>): Likewise. (mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si, vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd. testsuite/ * gcc.dg/vect/slp-21.c: Succeed with vect_extract_even_odd too. * lib/target-supports.exp (check_effective_target_vect_extract_even_odd): Add x86. * gcc.target/i386/isa-check.h: New. * gcc.target/i386/vperm-2-2.inc, gcc.target/i386/vperm-4-1.inc, gcc.target/i386/vperm-4-2.inc, gcc.target/i386/vperm-v2df.c, gcc.target/i386/vperm-v2di.c, gcc.target/i386/vperm-v4sf-1.c, gcc.target/i386/vperm-v4sf-2.c, gcc.target/i386/vperm-v4si-1.c, gcc.target/i386/vperm-v4si-2.c, gcc.target/i386/vperm-v4si-2x.c, gcc.target/i386/vperm.pl: New files. From-SVN: r154667
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fixincludes | Loading commit data... | |
gcc | Loading commit data... | |
gnattools | Loading commit data... | |
include | Loading commit data... | |
intl | Loading commit data... | |
libada | Loading commit data... | |
libcpp | Loading commit data... | |
libdecnumber | Loading commit data... | |
libffi | Loading commit data... | |
libgcc | Loading commit data... | |
libgfortran | Loading commit data... | |
libgomp | Loading commit data... | |
libiberty | Loading commit data... | |
libjava | Loading commit data... | |
libmudflap | Loading commit data... | |
libobjc | Loading commit data... | |
libssp | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
lto-plugin | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
ABOUT-NLS | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
COPYING.RUNTIME | Loading commit data... | |
COPYING3 | Loading commit data... | |
COPYING3.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.tree-ssa | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.def | Loading commit data... | |
Makefile.in | Loading commit data... | |
Makefile.tpl | Loading commit data... | |
README | Loading commit data... | |
compile | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.rpath | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
depcomp | Loading commit data... | |
install-sh | Loading commit data... | |
libtool-ldflags | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltgcc.m4 | Loading commit data... | |
ltmain.sh | Loading commit data... | |
ltoptions.m4 | Loading commit data... | |
ltsugar.m4 | Loading commit data... | |
ltversion.m4 | Loading commit data... | |
lt~obsolete.m4 | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |