2011-09-02 Richard Guenther <rguenther@suse.de> PR tree-optimization/27460 PR middle-end/29269 * doc/md.texi (vcond): Document. * genopinit.c (optabs): Turn vcond{,u}_optab into a conversion optab with two modes. * optabs.h (enum convert_optab_index): Add COI_vcond, COI_vcondu. (enum direct_optab_index): Remove DOI_vcond, DOI_vcondu. (vcond_optab): Adjust. (vcondu_optab): Likewise. (expand_vec_cond_expr_p): Adjust prototype. * optabs.c (get_vcond_icode): Adjust. (expand_vec_cond_expr_p): Likewise. (expand_vec_cond_expr): Likewise. * tree-vect-stmts.c (vect_is_simple_cond): Return the comparison vector type. (vectorizable_condition): Allow differing types for comparison and result. * config/i386/i386.c (ix86_expand_sse_cmp): Use proper mode for the comparison. * config/i386/sse.md (vcond<mode>): Split to vcond<V_256:mode><VF_256:mode>, vcond<V_128:mode><VF_128:mode>, vcond<V_128:mode><VI124_128:mode> and vcondu<V_128:mode><VI124_128:mode>. (vcondv2di): Change to vcond<VI8F_128:mode>v2di. (vconduv2di): Likewise. * config/arm/neon.md (vcond<mode>): Change to vcond*<mode><mode>. (vcondu<mode>): Likewise. * config/ia64/vect.md (vcond<mode>): Likewise. (vcondu<mode>): Likewise. (vcondv2sf): Likewise. * config/mips/mips-ps-3d.md (vcondv2sf): Likewise. * config/rs6000/paired.md (vcondv2sf): Likewise. * config/rs6000/vector.md (vcond<mode>): Likewise. (vcondu<mode>): Likewise. * config/spu/spu.md (vcond<mode>): Likewise. (vcondu<mode>): Likewise. * gcc.dg/vect/vect-cond-7.c: New testcase. From-SVN: r178480 |
||
---|---|---|
.. | ||
include | ||
arm-neon-intrinsics.texi | ||
bugreport.texi | ||
cfg.texi | ||
collect2.texi | ||
compat.texi | ||
configfiles.texi | ||
configterms.texi | ||
contrib.texi | ||
contribute.texi | ||
cpp.texi | ||
cppenv.texi | ||
cppinternals.texi | ||
cppopts.texi | ||
extend.texi | ||
fragments.texi | ||
frontends.texi | ||
gcc.texi | ||
gccint.texi | ||
gcov.texi | ||
generic.texi | ||
gimple.texi | ||
gnu.texi | ||
gty.texi | ||
headerdirs.texi | ||
hostconfig.texi | ||
implement-c.texi | ||
implement-cxx.texi | ||
install-old.texi | ||
install.texi | ||
install.texi2html | ||
interface.texi | ||
invoke.texi | ||
languages.texi | ||
libgcc.texi | ||
loop.texi | ||
lto.texi | ||
makefile.texi | ||
md.texi | ||
objc.texi | ||
options.texi | ||
passes.texi | ||
plugins.texi | ||
portability.texi | ||
rtl.texi | ||
service.texi | ||
sourcebuild.texi | ||
standards.texi | ||
tm.texi | ||
tm.texi.in | ||
tree-ssa.texi | ||
trouble.texi |