https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71805
--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> --- It turns out, when I implemented the xxperm variant (and when Kelvin used my code to add xxpermr) I mis-read the ISA 3.0 manual. I thought: xxperm a,b,c was equivalent to: vperm a,a,b,c when in reality, it is equivalent to: vperm a,b,a,c (i.e. the XT field provides the register with bytes 16-31 instead of 0-15).