https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63150
--- Comment #7 from Alan Modra <amodra at gcc dot gnu.org> --- Author: amodra Date: Thu Mar 26 08:33:53 2015 New Revision: 221689 URL: https://gcc.gnu.org/viewcvs?rev=221689&root=gcc&view=rev Log: PR target/63150 Backport from trunk 211857 and 221445. 2014-06-20 Maciej W. Rozycki <ma...@codesourcery.com> * config/rs6000/rs6000.md: Append `DONE' to preparation statements of `bswap' pattern splitters. 2015-03-16 Alan Modra <amo...@gmail.com> * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg. Modify Z->r bswapdi splitter to use dest in place of scratch. In r->Z and Z->r bswapdi splitter rename word_high, word_low to word1, word2 and rearrange logic to suit. (bswapdi2_64bit): Remove early clobber on Z->r alternative. (bswapdi2_ldbrx): Likewise. Remove '??' on r->r. (bswapdi2_32bit): Remove early clobber on Z->r alternative. Add one '?' on r->r. Modify Z->r splitter to avoid need for early clobber. Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.md branches/gcc-4_9-branch/gcc/testsuite/ChangeLog branches/gcc-4_9-branch/gcc/testsuite/gcc.target/powerpc/pr53199.c