https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78543
--- Comment #23 from Michael Meissner <meissner at gcc dot gnu.org> --- Author: meissner Date: Mon Mar 27 19:35:35 2017 New Revision: 246509 URL: https://gcc.gnu.org/viewcvs?rev=246509&root=gcc&view=rev Log: [gcc] 2017-03-27 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2017-03-27 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/78543 * config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap HImode and SImode with zero extend to DImode to one insn. (bswap<mode>2_extenddi): Likewise. (bswapsi2_extenddi): Likewise. (bswaphi2_extendsi): Likewise. (bswaphi2): Combine bswap HImode and SImode into one insn. Separate memory insns from swapping register. (bswapsi2): Likewise. (bswap<mode>2): Likewise. (bswaphi2_internal): Delete, no longer used. (bswapsi2_internal): Likewise. (bswap<mode>2_load): Split bswap HImode/SImode into separate load, store, and gpr<-gpr swap insns. (bswap<mode>2_store): Likewise. (bswaphi2_reg): Register only splitter, combine with the splitter. (bswaphi2 splitter): Likewise. (bswapsi2_reg): Likewise. (bswapsi2 splitter): Likewise. (bswapdi2): If we have the LDBRX and STDBRX instructions, split the insns into load, store, and register/register insns. (bswapdi2_ldbrx): Likewise. (bswapdi2_load): Likewise. (bswapdi2_store): Likewise. (bswapdi2_reg): Likewise. [gcc/testsuite] 2017-03-27 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2017-03-27 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/78543 * gcc.target/powerpc/pr78543.c: New test. Added: branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/pr78543.c - copied unchanged from r246508, trunk/gcc/testsuite/gcc.target/powerpc/pr78543.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/rs6000/rs6000.md branches/gcc-6-branch/gcc/testsuite/ChangeLog