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
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
40x.md | Loading commit data... | |
440.md | Loading commit data... | |
476.md | Loading commit data... | |
603.md | Loading commit data... | |
6xx.md | Loading commit data... | |
7450.md | Loading commit data... | |
750cl.h | Loading commit data... | |
7xx.md | Loading commit data... | |
8540.md | Loading commit data... | |
a2.md | Loading commit data... | |
aix-stdint.h | Loading commit data... | |
aix.h | Loading commit data... | |
aix43.h | Loading commit data... | |
aix51.h | Loading commit data... | |
aix52.h | Loading commit data... | |
aix53.h | Loading commit data... | |
aix61.h | Loading commit data... | |
aix64.opt | Loading commit data... | |
altivec.h | Loading commit data... | |
altivec.md | Loading commit data... | |
biarch64.h | Loading commit data... | |
cell.md | Loading commit data... | |
constraints.md | Loading commit data... | |
crtresfpr.asm | Loading commit data... | |
crtresgpr.asm | Loading commit data... | |
crtresxfpr.asm | Loading commit data... | |
crtresxgpr.asm | Loading commit data... | |
crtsavfpr.asm | Loading commit data... | |
crtsavgpr.asm | Loading commit data... | |
darwin-asm.h | Loading commit data... | |
darwin-fpsave.asm | Loading commit data... | |
darwin-libgcc.10.4.ver | Loading commit data... | |
darwin-libgcc.10.5.ver | Loading commit data... | |
darwin-tramp.asm | Loading commit data... | |
darwin-vecsave.asm | Loading commit data... | |
darwin-world.asm | Loading commit data... | |
darwin.h | Loading commit data... | |
darwin.md | Loading commit data... | |
darwin.opt | Loading commit data... | |
darwin64.h | Loading commit data... | |
darwin7.h | Loading commit data... | |
darwin8.h | Loading commit data... | |
default64.h | Loading commit data... | |
dfp.md | Loading commit data... | |
driver-rs6000.c | Loading commit data... | |
e300c2c3.md | Loading commit data... | |
e500-double.h | Loading commit data... | |
e500.h | Loading commit data... | |
e500crtres32gpr.asm | Loading commit data... | |
e500crtres64gpr.asm | Loading commit data... | |
e500crtres64gprctr.asm | Loading commit data... | |
e500crtrest32gpr.asm | Loading commit data... | |
e500crtrest64gpr.asm | Loading commit data... | |
e500crtresx32gpr.asm | Loading commit data... | |
e500crtresx64gpr.asm | Loading commit data... | |
e500crtsav32gpr.asm | Loading commit data... | |
e500crtsav64gpr.asm | Loading commit data... | |
e500crtsav64gprctr.asm | Loading commit data... | |
e500crtsavg32gpr.asm | Loading commit data... | |
e500crtsavg64gpr.asm | Loading commit data... | |
e500crtsavg64gprctr.asm | Loading commit data... | |
e500mc.md | Loading commit data... | |
e500mc64.md | Loading commit data... | |
eabi-ci.asm | Loading commit data... | |
eabi-cn.asm | Loading commit data... | |
eabi.asm | Loading commit data... | |
eabi.h | Loading commit data... | |
eabialtivec.h | Loading commit data... | |
eabisim.h | Loading commit data... | |
eabispe.h | Loading commit data... | |
freebsd.h | Loading commit data... | |
genopt.sh | Loading commit data... | |
host-darwin.c | Loading commit data... | |
host-ppc64-darwin.c | Loading commit data... | |
linux.h | Loading commit data... | |
linux64.h | Loading commit data... | |
linux64.opt | Loading commit data... | |
linuxaltivec.h | Loading commit data... | |
linuxspe.h | Loading commit data... | |
lynx.h | Loading commit data... | |
milli.exp | Loading commit data... | |
mpc.md | Loading commit data... | |
netbsd.h | Loading commit data... | |
option-defaults.h | Loading commit data... | |
paired.h | Loading commit data... | |
paired.md | Loading commit data... | |
power4.md | Loading commit data... | |
power5.md | Loading commit data... | |
power6.md | Loading commit data... | |
power7.md | Loading commit data... | |
ppc-asm.h | Loading commit data... | |
ppu_intrinsics.h | Loading commit data... | |
predicates.md | Loading commit data... | |
rios1.md | Loading commit data... | |
rios2.md | Loading commit data... | |
rs6000-builtin.def | Loading commit data... | |
rs6000-c.c | Loading commit data... | |
rs6000-cpus.def | Loading commit data... | |
rs6000-modes.def | Loading commit data... | |
rs6000-opts.h | Loading commit data... | |
rs6000-protos.h | Loading commit data... | |
rs6000-tables.opt | Loading commit data... | |
rs6000.c | Loading commit data... | |
rs6000.h | Loading commit data... | |
rs6000.md | Loading commit data... | |
rs6000.opt | Loading commit data... | |
rs64.md | Loading commit data... | |
rtems.h | Loading commit data... | |
secureplt.h | Loading commit data... | |
si2vmx.h | Loading commit data... | |
singlefp.h | Loading commit data... | |
sol-ci.asm | Loading commit data... | |
sol-cn.asm | Loading commit data... | |
spe.h | Loading commit data... | |
spe.md | Loading commit data... | |
spu2vmx.h | Loading commit data... | |
sync.md | Loading commit data... | |
sysv4.h | Loading commit data... | |
sysv4.opt | Loading commit data... | |
sysv4le.h | Loading commit data... | |
t-aix43 | Loading commit data... | |
t-aix52 | Loading commit data... | |
t-darwin | Loading commit data... | |
t-darwin64 | Loading commit data... | |
t-darwin8 | Loading commit data... | |
t-fprules | Loading commit data... | |
t-linux64 | Loading commit data... | |
t-lynx | Loading commit data... | |
t-netbsd | Loading commit data... | |
t-ppccomm | Loading commit data... | |
t-ppcendian | Loading commit data... | |
t-ppcgas | Loading commit data... | |
t-ppcos | Loading commit data... | |
t-rs6000 | Loading commit data... | |
t-rtems | Loading commit data... | |
t-spe | Loading commit data... | |
t-vxworks | Loading commit data... | |
t-vxworksae | Loading commit data... | |
t-xilinx | Loading commit data... | |
titan.md | Loading commit data... | |
tramp.asm | Loading commit data... | |
vec_types.h | Loading commit data... | |
vector.md | Loading commit data... | |
vsx.md | Loading commit data... | |
vxworks.h | Loading commit data... | |
x-aix | Loading commit data... | |
x-darwin | Loading commit data... | |
x-darwin64 | Loading commit data... | |
x-linux-relax | Loading commit data... | |
x-rs6000 | Loading commit data... | |
xcoff.h | Loading commit data... | |
xfpu.h | Loading commit data... | |
xfpu.md | Loading commit data... | |
xilinx.h | Loading commit data... | |
xilinx.opt | Loading commit data... |