[PATCH] powerpc: provide __bswapdi2

David Woodhouse dwmw2 at infradead.org
Mon May 13 20:38:13 EST 2013


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 at 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 at 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 at 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 at 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 at 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




-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse at intel.com                              Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5745 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20130513/43c92598/attachment-0001.bin>


More information about the Linuxppc-dev mailing list