Re: [PATCH] powerpc: provide __bswapdi2

2013-05-14 Thread David Woodhouse
On Tue, 2013-05-14 at 11:25 +1000, Michael Neuling wrote: So, if we are just stealing the output of gcc, why not just use the C version (at least for 32 bit)? Woodhouse: can we just do this? Sure, if you don't mind GCC optimising the contents of your C function by turning it into a call

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Anton Blanchard
On Fri, 10 May 2013 22:18:27 +0100 David Woodhouse dw...@infradead.org wrote: From: David Woodhouse david.woodho...@intel.com Some versions of GCC apparently expect this to be provided by libgcc. Thanks Dave. We were discussing this with Alan Modra and he doesn't think the 64bit target

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Michael Neuling
David Woodhouse dw...@infradead.org wrote: From: David Woodhouse david.woodho...@intel.com Some versions of GCC apparently expect this to be provided by libgcc. Signed-off-by: David Woodhouse david.woodho...@intel.com --- Untested. diff --git a/arch/powerpc/kernel/misc_32.S

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Alan Modra
On Mon, May 13, 2013 at 04:48:19PM +1000, Anton Blanchard wrote: On Fri, 10 May 2013 22:18:27 +0100 David Woodhouse dw...@infradead.org wrote: From: David Woodhouse david.woodho...@intel.com Some versions of GCC apparently expect this to be provided by libgcc. Thanks Dave. We were

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Gabriel Paubert
On Mon, May 13, 2013 at 05:09:59PM +1000, Michael Neuling wrote: David Woodhouse dw...@infradead.org wrote: From: David Woodhouse david.woodho...@intel.com Some versions of GCC apparently expect this to be provided by libgcc. Signed-off-by: David Woodhouse david.woodho...@intel.com

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread David Woodhouse
On Mon, 2013-05-13 at 16:50 +0930, Alan Modra wrote: I did a little digging, and it looks like gcc-4.4 will emit __bswapdi2 calls. Support in rs6000.md appeared 2009-06-25. That's where it was seen. I don't have anything that ancient any more so it didn't show up in my testing, but Al saw it

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread David Woodhouse
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

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread David Woodhouse
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

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Joakim Tjernlund
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

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Joakim Tjernlund
Linuxppc-dev linuxppc-dev-bounces+joakim.tjernlund=transmode...@lists.ozlabs.org wrote on 2013/05/13 12:51:59: 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:

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Gabriel Paubert
On Mon, May 13, 2013 at 11:38:13AM +0100, David Woodhouse wrote: 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

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Segher Boessenkool
I did a little digging, and it looks like gcc-4.4 will emit __bswapdi2 calls. Support in rs6000.md appeared 2009-06-25. That's where it was seen. I don't have anything that ancient any more so it didn't show up in my testing, but Al saw it on a Debian system. It should never happen on

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Segher Boessenkool
rlwinm 10,4,8,0x rlwinm 11,3,8,0x 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 Actually, I'd swap the two mr instructions to never have an instruction that uses

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Stephen Rothwell
Hi Mikey, On Mon, 13 May 2013 17:09:59 +1000 Michael Neuling mi...@neuling.org wrote: This doesn't work for me but the below does: _GLOBAL(__bswapdi2) rotlwi r9,r4,8 rotlwi r10,r3,8 rlwimi r9,r4,24,0,7 rlwimi r10,r3,24,0,7 rlwimi r9,r4,24,16,23

Re: [PATCH] powerpc: provide __bswapdi2

2013-05-13 Thread Michael Neuling
On 14 May 2013 11:09, Stephen Rothwell s...@canb.auug.org.au wrote: Hi Mikey, On Mon, 13 May 2013 17:09:59 +1000 Michael Neuling mi...@neuling.org wrote: This doesn't work for me but the below does: _GLOBAL(__bswapdi2) rotlwi r9,r4,8 rotlwi r10,r3,8 rlwimi

[PATCH] powerpc: provide __bswapdi2

2013-05-10 Thread David Woodhouse
From: David Woodhouse david.woodho...@intel.com Some versions of GCC apparently expect this to be provided by libgcc. Signed-off-by: David Woodhouse david.woodho...@intel.com --- Untested. diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index 19e096b..f077dc2 100644