On Mon, 2013-05-13 at 17:09 +1000, Michael Neuling wrote: > > This doesn't work for me but the below does: ... > > stolen from GCC -02 output of: > unsigned long long __bswapdi2(unsigned long long x) Hm, so was mine: [dwmw2@i7 ~]$ powerpc64-linux-gnu-gcc -O2 -S -o- bswapdi2.c -m32 .file "bswapdi2.c" .section ".text" .align 2 .p2align 4,,15 .globl __bswapdi2 .type __bswapdi2, @function __bswapdi2: rlwinm 10,4,8,0xffffffff rlwinm 11,3,8,0xffffffff rlwimi 10,4,24,0,7 rlwimi 11,3,24,0,7 rlwimi 10,4,24,16,23 rlwimi 11,3,24,16,23 mr 4,11 mr 3,10 blr .size __bswapdi2,.-__bswapdi2 .ident "GCC: (GNU) 4.7.2 20121105 (Red Hat 4.7.2-2.aa.20121114svn)" On Mon, 2013-05-13 at 09:33 +0200, Gabriel Paubert wrote: > Actually, I'd swap the two mr instructions to never > have an instruction that uses the result from the > previous one. Bad GCC. No biscuit. Should we file a PR? -- David Woodhouse Open Source Technology Centre David.Woodhouse@intel.com Intel Corporation