"Linuxppc-dev" <linuxppc-dev-bounces+joakim.tjernlund=transmode...@lists.ozlabs.org> wrote 2013/05/13 12:38:13: > > On Mon, 2013-05-13 at 11:33 +0100, David Woodhouse wrote: > > > > 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? > > Maybe not. If you tell it to tune for an in-order machine like Cell, it > swaps them round. Although now I'm confused about which of POWER[567] > were in-order: > > [dwmw2@i7 ~]$ powerpc64-linux-gnu-gcc -O2 -S -o- bswapdi2.c -m32 | grep -B1 mr > rlwimi 11,3,24,16,23 > mr 4,11 > mr 3,10 > [dwmw2@i7 ~]$ powerpc64-linux-gnu-gcc -O2 -S -o- bswapdi2.c -m32 -mtune=cell | grep -B1 mr > rlwimi 11,3,24,16,23 > mr 3,10 > mr 4,11 > [dwmw2@i7 ~]$ powerpc64-linux-gnu-gcc -O2 -S -o- bswapdi2.c -m32 -mtune=power5 | grep -B1 mr > rlwimi 11,3,24,16,23 > mr 3,10 > mr 4,11 > [dwmw2@i7 ~]$ powerpc64-linux-gnu-gcc -O2 -S -o- bswapdi2.c -m32 -mtune=power6 | grep -B1 mr > rlwimi 11,3,24,16,23 > mr 4,11 > mr 3,10 > [dwmw2@i7 ~]$ powerpc64-linux-gnu-gcc -O2 -S -o- bswapdi2.c -m32 -mtune=power7 | grep -B1 mr > rlwimi 11,3,24,16,23 > mr 4,11 > mr 3,10
A bit rusty on the ppc asm but can you not remove the mr completely: rlwimi 10,4,24,16,23 rlwimi 11,3,24,16,23 mr 4,11 mr 3,10 to rlwimi 4,4,24,16,23 rlwimi 3,3,24,16,23 Jocke _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev