On Wed, Dec 18, 2013 at 09:53:38AM -0500, David Edelsohn wrote: https://gcc.gnu.org/ml/gcc-patches/2013-12/msg01599.html > Why change the code from swapping the words at the initial > change_address() to swapping the words in the call to gen_bswapsi2()?
Sorry for dropping this on the floor for so long. I've been prodded back into action by Redhat people and pr63150. I don't recall a compelling technical reason for the change. It was probably to make my life easier in tracking the lifetimes of addr1 and addr2, necessary due to losing one of the scratch registers along with early clobbers. (In the splitter you question, addr1 might be the same register as dest/dest_32.) I suppose it also makes those splitters look a little more like the one for bswapdi2_32bit, so a plus for maintenance. The patch applies with some minor changes (see pr63150) and I've checked for regressions on a current powerpc64le build. OK to apply, and on the branches? -- Alan Modra Australia Development Lab, IBM