https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103316
--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by HaoChen Gui <guih...@gcc.gnu.org>: https://gcc.gnu.org/g:8d1c6e7038b0c281ac2678f2f615806a7aac9174 commit r13-1131-g8d1c6e7038b0c281ac2678f2f615806a7aac9174 Author: Haochen Gui <guih...@gcc.gnu.org> Date: Mon May 30 09:12:34 2022 +0800 rs6000: add V1TI into vector comparison expand [PR103316] This patch adds V1TI mode into a new mode iterator used in vector comparison,shift and rotation expands. It also merges some vector comparison, shift and rotation expands for V1T1 and other vector integer modes as they have the similar patterns. The expands for V1TI only are removed. gcc/ PR target/103316 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET, RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT, RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI. * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support for new Power10 V1TI instructions. (vec_cmp<mode><mode>): Set mode iterator to VEC_IC. (vec_cmpu<mode><mode>): Likewise. (vector_nlt<mode>): Set mode iterator to VEC_IC. (vector_nltv1ti): Remove. (vector_gtu<mode>): Set mode iterator to VEC_IC. (vector_gtuv1ti): Remove. (vector_nltu<mode>): Set mode iterator to VEC_IC. (vector_nltuv1ti): Remove. (vector_geu<mode>): Set mode iterator to VEC_IC. (vector_ngt<mode>): Likewise. (vector_ngtv1ti): Remove. (vector_ngtu<mode>): Set mode iterator to VEC_IC. (vector_ngtuv1ti): Remove. (vector_gtu_<mode>_p): Set mode iterator to VEC_IC. (vector_gtu_v1ti_p): Remove. (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI. (vrotlv1ti3): Remove. (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI. (vashrv1ti3): Remove. gcc/testsuite/ PR target/103316 * gcc.target/powerpc/pr103316.c: New. * gcc.target/powerpc/fold-vec-cmp-int128.c: New.