Index: lib/Target/PowerPC/PPCTargetMachine.cpp =================================================================== --- lib/Target/PowerPC/PPCTargetMachine.cpp +++ lib/Target/PowerPC/PPCTargetMachine.cpp @@ -368,6 +368,7 @@ // For little endian, remove where possible the vector swap instructions // introduced at code generation to normalize vector element order. if (TM->getTargetTriple().getArch() == Triple::ppc64le && + !TM->getSubtargetImpl()->isISA3_0() && !DisableVSXSwapRemoval) addPass(createPPCVSXSwapRemovalPass()); // Target-specific peephole cleanups performed after instruction