https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119702
--- Comment #21 from Avinash Jayakar <avinashd at linux dot ibm.com> --- ARM64 uses constant as immediate value in the rtl when expanding vector shift by constant. PowerPC64le on the other hand materializes the constant into a register and uses that in ashift insn. This causes issues during optimization. Below is a comparison of what happens in expand pass for same code in powerpc vs arm. https://godbolt.org/z/fefboM9eT