These two patches are updated version from: https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579490.html
Changes: 1. Fix alignment error in md files. 2. Replace rtx_equal_p with match_dup. 3. Use register_operand instead of gpc_reg_operand to align with vperm/xxperm. 4. Regression tested pass on P8LE. Xionghu Luo (2): rs6000: Fix wrong code generation for vec_sel [PR94613] rs6000: Fold xxsel to vsel since they have same semantics gcc/config/rs6000/altivec.md | 84 ++++++++++++++----- gcc/config/rs6000/rs6000-call.c | 62 ++++++++++++++ gcc/config/rs6000/rs6000.c | 19 ++--- gcc/config/rs6000/vector.md | 26 +++--- gcc/config/rs6000/vsx.md | 25 ------ gcc/testsuite/gcc.target/powerpc/builtins-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/pr94613.c | 47 +++++++++++ 7 files changed, 193 insertions(+), 72 deletions(-) create mode 100644 gcc/testsuite/gcc.target/powerpc/pr94613.c -- 2.25.1