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 |
---|---|---|
.. | ||
ammintrin.h | Loading commit data... | |
athlon.md | Loading commit data... | |
atom.md | Loading commit data... | |
att.h | Loading commit data... | |
avx2intrin.h | Loading commit data... | |
avxintrin.h | Loading commit data... | |
avxmath.h | Loading commit data... | |
bdver1.md | Loading commit data... | |
biarch64.h | Loading commit data... | |
bmi2intrin.h | Loading commit data... | |
bmiintrin.h | Loading commit data... | |
bmmintrin.h | Loading commit data... | |
bsd.h | Loading commit data... | |
constraints.md | Loading commit data... | |
core2.md | Loading commit data... | |
cpuid.h | Loading commit data... | |
cross-stdarg.h | Loading commit data... | |
crtdll.h | Loading commit data... | |
cygming-crtbegin.c | Loading commit data... | |
cygming-crtend.c | Loading commit data... | |
cygming.h | Loading commit data... | |
cygming.opt | Loading commit data... | |
cygwin-stdint.h | Loading commit data... | |
cygwin.asm | Loading commit data... | |
cygwin.h | Loading commit data... | |
darwin-libgcc.10.4.ver | Loading commit data... | |
darwin-libgcc.10.5.ver | Loading commit data... | |
darwin.h | Loading commit data... | |
darwin64.h | Loading commit data... | |
djgpp-stdint.h | Loading commit data... | |
djgpp.h | Loading commit data... | |
djgpp.opt | Loading commit data... | |
driver-i386.c | Loading commit data... | |
emmintrin.h | Loading commit data... | |
fma4intrin.h | Loading commit data... | |
fmaintrin.h | Loading commit data... | |
freebsd.h | Loading commit data... | |
freebsd64.h | Loading commit data... | |
gas.h | Loading commit data... | |
geode.md | Loading commit data... | |
gmm_malloc.h | Loading commit data... | |
gnu-user.h | Loading commit data... | |
gnu-user64.h | Loading commit data... | |
gnu.h | Loading commit data... | |
gstabs.h | Loading commit data... | |
gthr-win32.c | Loading commit data... | |
host-cygwin.c | Loading commit data... | |
host-i386-darwin.c | Loading commit data... | |
host-mingw32.c | Loading commit data... | |
i386-builtin-types.awk | Loading commit data... | |
i386-builtin-types.def | Loading commit data... | |
i386-c.c | Loading commit data... | |
i386-interix.h | Loading commit data... | |
i386-interix3.h | Loading commit data... | |
i386-modes.def | Loading commit data... | |
i386-opts.h | Loading commit data... | |
i386-protos.h | Loading commit data... | |
i386.c | Loading commit data... | |
i386.h | Loading commit data... | |
i386.md | Loading commit data... | |
i386.opt | Loading commit data... | |
i386elf.h | Loading commit data... | |
ia32intrin.h | Loading commit data... | |
immintrin.h | Loading commit data... | |
k6.md | Loading commit data... | |
kfreebsd-gnu.h | Loading commit data... | |
kfreebsd-gnu64.h | Loading commit data... | |
knetbsd-gnu.h | Loading commit data... | |
kopensolaris-gnu.h | Loading commit data... | |
libgcc-glibc.ver | Loading commit data... | |
linux.h | Loading commit data... | |
linux64.h | Loading commit data... | |
lwpintrin.h | Loading commit data... | |
lynx.h | Loading commit data... | |
lzcntintrin.h | Loading commit data... | |
mingw-pthread.h | Loading commit data... | |
mingw-stdint.h | Loading commit data... | |
mingw-w64.h | Loading commit data... | |
mingw-w64.opt | Loading commit data... | |
mingw.opt | Loading commit data... | |
mingw32.h | Loading commit data... | |
mm3dnow.h | Loading commit data... | |
mmintrin.h | Loading commit data... | |
mmx.md | Loading commit data... | |
msformat-c.c | Loading commit data... | |
netbsd-elf.h | Loading commit data... | |
netbsd64.h | Loading commit data... | |
nmmintrin.h | Loading commit data... | |
nto.h | Loading commit data... | |
nto.opt | Loading commit data... | |
openbsd.h | Loading commit data... | |
openbsdelf.h | Loading commit data... | |
pentium.md | Loading commit data... | |
pmm_malloc.h | Loading commit data... | |
pmmintrin.h | Loading commit data... | |
popcntintrin.h | Loading commit data... | |
ppro.md | Loading commit data... | |
predicates.md | Loading commit data... | |
rtemself.h | Loading commit data... | |
smmintrin.h | Loading commit data... | |
sol2-bi.h | Loading commit data... | |
sol2.h | Loading commit data... | |
sse.md | Loading commit data... | |
ssemath.h | Loading commit data... | |
sync.md | Loading commit data... | |
sysv4.h | Loading commit data... | |
t-crtstuff | Loading commit data... | |
t-cygming | Loading commit data... | |
t-cygwin | Loading commit data... | |
t-darwin | Loading commit data... | |
t-darwin64 | Loading commit data... | |
t-djgpp | Loading commit data... | |
t-dlldir | Loading commit data... | |
t-dlldir-x | Loading commit data... | |
t-dw2-eh | Loading commit data... | |
t-gmm_malloc | Loading commit data... | |
t-gthr-win32 | Loading commit data... | |
t-i386 | Loading commit data... | |
t-i386elf | Loading commit data... | |
t-interix | Loading commit data... | |
t-linux | Loading commit data... | |
t-linux64 | Loading commit data... | |
t-mingw-pthread | Loading commit data... | |
t-mingw-w32 | Loading commit data... | |
t-mingw-w64 | Loading commit data... | |
t-mingw32 | Loading commit data... | |
t-nto | Loading commit data... | |
t-openbsd | Loading commit data... | |
t-pmm_malloc | Loading commit data... | |
t-rtems | Loading commit data... | |
t-sjlj-eh | Loading commit data... | |
t-sol2-64 | Loading commit data... | |
t-vxworks | Loading commit data... | |
t-vxworksae | Loading commit data... | |
tbmintrin.h | Loading commit data... | |
tmmintrin.h | Loading commit data... | |
unix.h | Loading commit data... | |
vx-common.h | Loading commit data... | |
vxworks.h | Loading commit data... | |
vxworksae.h | Loading commit data... | |
winnt-cxx.c | Loading commit data... | |
winnt-stubs.c | Loading commit data... | |
winnt.c | Loading commit data... | |
wmmintrin.h | Loading commit data... | |
x-cygwin | Loading commit data... | |
x-darwin | Loading commit data... | |
x-i386 | Loading commit data... | |
x-mingw32 | Loading commit data... | |
x86-64.h | Loading commit data... | |
x86intrin.h | Loading commit data... | |
xm-cygwin.h | Loading commit data... | |
xm-djgpp.h | Loading commit data... | |
xm-mingw32.h | Loading commit data... | |
xmmintrin.h | Loading commit data... | |
xopintrin.h | Loading commit data... |