https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92132
--- Comment #4 from Kewen Lin <linkw at gcc dot gnu.org> --- Author: linkw Date: Fri Nov 8 07:37:07 2019 New Revision: 277947 URL: https://gcc.gnu.org/viewcvs?rev=277947&root=gcc&view=rev Log: [rs6000]Fix PR92132 by adding vec_cmp and vcond_mask supports To support full condition reduction vectorization, we have to define vec_cmp* and vcond_mask_*. This patch is to add related expands. Also add the missing vector fp comparison RTL pattern supports like: ungt, unge, unlt, unle, ne, lt and le. gcc/ChangeLog 2019-11-08 Kewen Lin <li...@gcc.gnu.org> PR target/92132 * config/rs6000/predicates.md (signed_or_equality_comparison_operator): New predicate. (unsigned_or_equality_comparison_operator): Likewise. * config/rs6000/rs6000.md (one_cmpl<mode>2): Remove expand. (one_cmpl<mode>3_internal): Rename to one_cmpl<mode>2. * config/rs6000/vector.md (vcond_mask_<mode><mode> for VEC_I and VEC_I): New expand. (vec_cmp<mode><mode> for VEC_I and VEC_I): Likewise. (vec_cmpu<mode><mode> for VEC_I and VEC_I): Likewise. (vcond_mask_<mode><VEC_int> for VEC_F): New expand for float vector modes and same-size integer vector modes. (vec_cmp<mode><VEC_int> for VEC_F): Likewise. (vector_lt<mode> for VEC_F): New expand. (vector_le<mode> for VEC_F): Likewise. (vector_ne<mode> for VEC_F): Likewise. (vector_unge<mode> for VEC_F): Likewise. (vector_ungt<mode> for VEC_F): Likewise. (vector_unle<mode> for VEC_F): Likewise. (vector_unlt<mode> for VEC_F): Likewise. (vector_uneq<mode>): Expose name. (vector_ltgt<mode>): Likewise. (vector_unordered<mode>): Likewise. (vector_ordered<mode>): Likewise. gcc/testsuite/ChangeLog 2019-11-08 Kewen Lin <li...@gcc.gnu.org> PR target/92132 * gcc.target/powerpc/pr92132-fp-1.c: New test. * gcc.target/powerpc/pr92132-fp-2.c: New test. * gcc.target/powerpc/pr92132-int-1.c: New test. * gcc.target/powerpc/pr92132-int-2.c: New test. Added: trunk/gcc/testsuite/gcc.target/powerpc/pr92132-fp-1.c trunk/gcc/testsuite/gcc.target/powerpc/pr92132-fp-2.c trunk/gcc/testsuite/gcc.target/powerpc/pr92132-int-1.c trunk/gcc/testsuite/gcc.target/powerpc/pr92132-int-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/predicates.md trunk/gcc/config/rs6000/rs6000.md trunk/gcc/config/rs6000/vector.md trunk/gcc/testsuite/ChangeLog