From: Kim Phillips <kim.phillips@freescale.com>
To: Nicolas Pitre <nico@fluxnic.net>
Cc: "Woodhouse, David" <david.woodhouse@intel.com>,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
Borislav Petkov <bp@alien8.de>,
Andrew Morton <akpm@linux-foundation.org>,
Daniel Santos <daniel.santos@pobox.com>,
David Rientjes <rientjes@google.com>,
Rusty Russell <rusty@rustcorp.com.au>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Rob Herring <robherring2@gmail.com>
Subject: Re: [RFC] arm: use built-in byte swap function
Date: Thu, 21 Feb 2013 00:52:21 -0600 [thread overview]
Message-ID: <20130221005221.15279b1372501af12c1e4f32@freescale.com> (raw)
In-Reply-To: <alpine.LFD.2.03.1302202327370.6419@syhkavp.arg>
On Wed, 20 Feb 2013 23:29:58 -0500
Nicolas Pitre <nico@fluxnic.net> wrote:
> On Wed, 20 Feb 2013, Kim Phillips wrote:
>
> > On Wed, 20 Feb 2013 10:43:18 -0500
> > Nicolas Pitre <nico@fluxnic.net> wrote:
> >
> > > On Wed, 20 Feb 2013, Woodhouse, David wrote:
> > > > On Wed, 2013-02-20 at 09:06 -0500, Nicolas Pitre wrote:
> > > > > ... in which case there is no harm shipping a .c file and trivially
> > > > > enforcing -O2, the rest being equal.
> > > >
> > > > For today's compilers, unless the wind changes.
> > >
> > > We'll adapt if necessary. Going with -O2 should remain pretty safe anyway.
> >
> > Alas, not so for gcc 4.4 - I had forgotten I had tested
> > Ubuntu/Linaro 4.4.7-1ubuntu2 here:
> >
> > https://patchwork.kernel.org/patch/2101491/
> >
> > add -O2 to that test script and gcc 4.4 *always* emits calls to
> > __bswap[sd]i2, even with -march=armv6k+.
argh, sorry - that script was testing support for
__builtin_bswap{16,32,64} directly, which isn't the same as testing
code generation of a byte swap pattern in C.
> Crap. OK, assembly code is the way to go then.
>
> > I'll try working on an assembly version given it probably
> > makes more sense, future-gcc-immunity-wise.
>
> Agreed.
I'll still try the assembly approach - gcc 4.4's armv6 output looks
worse than both the pre-armv6 and post-armv6 __arch_swab32
implementations currently in use:
mov ip, sp
push {fp, ip, lr, pc}
sub fp, ip, #4
and r2, r0, #65280 ; 0xff00
lsl ip, r0, #24
orr r1, ip, r0, lsr #24
and r0, r0, #16711680 ; 0xff0000
orr r3, r1, r2, lsl #8
orr r0, r3, r0, lsr #8
ldm sp, {fp, sp, pc}
Kim
next prev parent reply other threads:[~2013-02-21 6:55 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 1:30 [RFC] arm: use built-in byte swap function Kim Phillips
2013-01-29 8:35 ` Borislav Petkov
2013-01-29 16:46 ` Woodhouse, David
2013-01-29 17:42 ` Borislav Petkov
2013-01-29 17:55 ` Woodhouse, David
2013-01-29 18:10 ` Borislav Petkov
2013-01-30 10:22 ` Woodhouse, David
2013-01-31 2:09 ` Kim Phillips
2013-01-31 6:44 ` Borislav Petkov
2013-01-31 9:28 ` Russell King - ARM Linux
2013-01-31 20:59 ` Kim Phillips
2013-01-31 21:33 ` Borislav Petkov
2013-01-31 22:11 ` Woodhouse, David
2013-02-01 0:37 ` [PATCH v4] " Kim Phillips
2013-02-01 10:46 ` Russell King - ARM Linux
2013-02-01 1:17 ` [RFC] " Russell King - ARM Linux
2013-02-01 7:33 ` Woodhouse, David
2013-02-06 3:04 ` Kim Phillips
2013-02-06 9:02 ` Woodhouse, David
2013-02-07 1:19 ` Kim Phillips
2013-02-07 10:19 ` Will Newton
2013-02-07 10:43 ` Catalin Marinas
2013-02-07 18:13 ` Russell King - ARM Linux
2013-02-08 17:25 ` Woodhouse, David
2013-02-08 20:04 ` Nicolas Pitre
2013-02-08 22:40 ` Woodhouse, David
2013-02-08 22:47 ` Nicolas Pitre
2013-02-09 1:12 ` Kim Phillips
2013-02-09 3:16 ` Nicolas Pitre
2013-02-20 2:31 ` Kim Phillips
2013-02-20 2:38 ` Stephen Boyd
2013-02-20 3:17 ` Nicolas Pitre
2013-02-20 10:38 ` Woodhouse, David
2013-02-20 13:36 ` Nicolas Pitre
2013-02-20 13:44 ` Woodhouse, David
2013-02-20 14:06 ` Nicolas Pitre
2013-02-20 14:53 ` Woodhouse, David
2013-02-20 15:43 ` Nicolas Pitre
2013-02-21 3:49 ` Kim Phillips
2013-02-21 4:29 ` Nicolas Pitre
2013-02-21 6:52 ` Kim Phillips [this message]
2013-02-21 16:40 ` Nicolas Pitre
2013-02-22 2:33 ` Kim Phillips
2013-02-22 3:40 ` Nicolas Pitre
2013-02-23 1:40 ` [PATCH v6] " Kim Phillips
2013-02-23 2:40 ` Nicolas Pitre
2013-02-23 23:20 ` Woodhouse, David
2013-05-23 16:46 ` [PATCH v7] " Kim Phillips
2013-05-23 20:09 ` Nicolas Pitre
2013-05-23 23:13 ` Russell King - ARM Linux
2013-06-06 22:12 ` Russell King - ARM Linux
2013-06-06 22:23 ` Borislav Petkov
2013-06-07 0:03 ` Stephen Rothwell
2013-10-27 2:41 ` Nicolas Pitre
2013-11-05 21:45 ` Kim Phillips
2013-02-21 16:37 ` [RFC] " Woodhouse, David
2013-02-21 17:27 ` Nicolas Pitre
2013-03-13 13:35 ` Woodhouse, David
2013-01-29 14:13 ` Russell King - ARM Linux
2013-01-29 14:43 ` Woodhouse, David
2013-01-29 14:53 ` Rob Herring
2013-01-29 15:10 ` Woodhouse, David
2013-01-31 11:44 Woodhouse, David
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130221005221.15279b1372501af12c1e4f32@freescale.com \
--to=kim.phillips@freescale.com \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=daniel.santos@pobox.com \
--cc=david.woodhouse@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nico@fluxnic.net \
--cc=rientjes@google.com \
--cc=robherring2@gmail.com \
--cc=rusty@rustcorp.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).