https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110429
--- Comment #1 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:d471bdb0453de7b738f49148b66d57cb5871937d commit r14-3237-gd471bdb0453de7b738f49148b66d57cb5871937d Author: Haochen Gui <guih...@gcc.gnu.org> Date: Wed Aug 16 14:29:36 2023 +0800 rs6000: Skip unnecessary vector extract for certain elements. If the extracted element index is: - for byte, 7 on BE while 8 on LE; - for half word, 3 on BE while 4 on LE; the element to be stored is already in the corresponding place for stxsi[hb]x. We don't need a redundant vector extraction at all. gcc/ PR target/110429 * config/rs6000/vsx.md (*vsx_extract_<mode>_store_p9): Skip vector extract when the element is 7 on BE while 8 on LE for byte or 3 on BE while 4 on LE for halfword. gcc/testsuite/ PR target/110429 * gcc.target/powerpc/pr110429.c: New.