https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91275
--- Comment #8 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Lauri Kasanen from comment #7) > Are you sure about the smaller ones? To me they should not care about 64-bit > swaps, "swappable" here means you can swap the low and high half on all inputs and on the output, and that changes nothing. This is true for all smaller vpmsumX. > but clang lists them all as lane-sensitive: > https://llvm.org/doxygen/PPCVSXSwapRemoval_8cpp_source.html If you think LLVM has a bug, take that up with the LLVM people? > Also, I'd like to ask if any other instructions added at the same time were > affected, just in case; the test suite did not catch this. We don't know about any. The thing with vpmsumd is the mnemonic sounds like it works on 64-bit data, but that isn't true for its output, which is double width. > Will the patch be backported to stable branches? Yes, after a week or so, to all affected still open release branches. That looks to be GCC 7, 8, and 9. > What would you recommend as > a workaround for existing gcc versions? -mno-optimize-swaps (an undocumented option) should work. It will reduce performance somewhat, and it can go away or change behaviour at any time (that's why it is undocumented, users should not use it); but it will work as a workaround for you.