All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Kim Phillips <kim.phillips@freescale.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Daniel Santos <daniel.santos@pobox.com>,
	Borislav Petkov <bp@alien8.de>,
	David Rientjes <rientjes@google.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	David Woodhouse <David.Woodhouse@intel.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC] arm: use built-in byte swap function
Date: Tue, 29 Jan 2013 14:13:29 +0000	[thread overview]
Message-ID: <20130129141328.GV23505@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20130128193033.8a0b0a871150c99247f05a95@freescale.com>

On Mon, Jan 28, 2013 at 07:30:33PM -0600, Kim Phillips wrote:
> AFAICT, arm gcc got __builtin_bswap{32,64} support in 4.6,
> and for the 16-bit version in 4.8.

Hmm.

$ /usr/local/aeabi/bin/arm-linux-gcc --version
arm-linux-gcc (GCC) 4.5.4
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ for a in armv3 armv4 armv4t armv5t armv5te armv6k armv6 armv7-a; do \
   echo $a:; \
   for f in 16 32 64; do \
      echo 'unsigned foo(unsigned val) { return __builtin_bswap'$f'(val); }' | \
      /usr/local/aeabi/bin/arm-linux-gcc -x c -S -o - - -march=$a | grep 'bl'; \
   done; \
done

produces:

armv3:
        bl __builtin_bswap16
armv4:
        bl __builtin_bswap16
armv4t:
        bl __builtin_bswap16
armv5t:
        bl __builtin_bswap16
armv5te:
        bl __builtin_bswap16
armv6k:
        bl __builtin_bswap16
armv6:
        bl __builtin_bswap16
armv7-a:
        bl __builtin_bswap16

So, this compiler (4.5.4) has support for 32-bit and 64-bit bswaps
across all our architectures, but not the 16-bit ones.

WARNING: multiple messages have this Message-ID (diff)
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC] arm: use built-in byte swap function
Date: Tue, 29 Jan 2013 14:13:29 +0000	[thread overview]
Message-ID: <20130129141328.GV23505@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20130128193033.8a0b0a871150c99247f05a95@freescale.com>

On Mon, Jan 28, 2013 at 07:30:33PM -0600, Kim Phillips wrote:
> AFAICT, arm gcc got __builtin_bswap{32,64} support in 4.6,
> and for the 16-bit version in 4.8.

Hmm.

$ /usr/local/aeabi/bin/arm-linux-gcc --version
arm-linux-gcc (GCC) 4.5.4
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ for a in armv3 armv4 armv4t armv5t armv5te armv6k armv6 armv7-a; do \
   echo $a:; \
   for f in 16 32 64; do \
      echo 'unsigned foo(unsigned val) { return __builtin_bswap'$f'(val); }' | \
      /usr/local/aeabi/bin/arm-linux-gcc -x c -S -o - - -march=$a | grep 'bl'; \
   done; \
done

produces:

armv3:
        bl __builtin_bswap16
armv4:
        bl __builtin_bswap16
armv4t:
        bl __builtin_bswap16
armv5t:
        bl __builtin_bswap16
armv5te:
        bl __builtin_bswap16
armv6k:
        bl __builtin_bswap16
armv6:
        bl __builtin_bswap16
armv7-a:
        bl __builtin_bswap16

So, this compiler (4.5.4) has support for 32-bit and 64-bit bswaps
across all our architectures, but not the 16-bit ones.

  parent reply	other threads:[~2013-01-29 14:19 UTC|newest]

Thread overview: 127+ 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  1:30 ` Kim Phillips
2013-01-29  8:35 ` Borislav Petkov
2013-01-29  8:35   ` Borislav Petkov
2013-01-29 16:46   ` Woodhouse, David
2013-01-29 16:46     ` Woodhouse, David
2013-01-29 17:42     ` Borislav Petkov
2013-01-29 17:42       ` Borislav Petkov
2013-01-29 17:55       ` Woodhouse, David
2013-01-29 17:55         ` Woodhouse, David
2013-01-29 18:10         ` Borislav Petkov
2013-01-29 18:10           ` Borislav Petkov
2013-01-30 10:22           ` Woodhouse, David
2013-01-30 10:22             ` Woodhouse, David
2013-01-31  2:09             ` Kim Phillips
2013-01-31  2:09               ` Kim Phillips
2013-01-31  6:44               ` Borislav Petkov
2013-01-31  6:44                 ` Borislav Petkov
2013-01-31  9:28               ` Russell King - ARM Linux
2013-01-31  9:28                 ` Russell King - ARM Linux
2013-01-31 20:59                 ` Kim Phillips
2013-01-31 20:59                   ` Kim Phillips
2013-01-31 21:33                   ` Borislav Petkov
2013-01-31 21:33                     ` Borislav Petkov
2013-01-31 22:11                   ` Woodhouse, David
2013-01-31 22:11                     ` Woodhouse, David
2013-02-01  0:37                     ` [PATCH v4] " Kim Phillips
2013-02-01  0:37                       ` Kim Phillips
2013-02-01 10:46                       ` Russell King - ARM Linux
2013-02-01 10:46                         ` Russell King - ARM Linux
2013-02-01  1:17                   ` [RFC] " Russell King - ARM Linux
2013-02-01  1:17                     ` Russell King - ARM Linux
2013-02-01  7:33                     ` Woodhouse, David
2013-02-01  7:33                       ` Woodhouse, David
2013-02-06  3:04                       ` Kim Phillips
2013-02-06  3:04                         ` Kim Phillips
2013-02-06  9:02                         ` Woodhouse, David
2013-02-06  9:02                           ` Woodhouse, David
2013-02-07  1:19                           ` Kim Phillips
2013-02-07  1:19                             ` Kim Phillips
2013-02-07 10:19                             ` Will Newton
2013-02-07 10:19                               ` Will Newton
2013-02-07 10:43                               ` Catalin Marinas
2013-02-07 10:43                                 ` Catalin Marinas
2013-02-07 18:13                             ` Russell King - ARM Linux
2013-02-07 18:13                               ` Russell King - ARM Linux
2013-02-08 17:25                               ` Woodhouse, David
2013-02-08 17:25                                 ` Woodhouse, David
2013-02-08 20:04                                 ` Nicolas Pitre
2013-02-08 20:04                                   ` Nicolas Pitre
2013-02-08 22:40                                   ` Woodhouse, David
2013-02-08 22:40                                     ` Woodhouse, David
2013-02-08 22:47                                     ` Nicolas Pitre
2013-02-08 22:47                                       ` Nicolas Pitre
2013-02-09  1:12                                       ` Kim Phillips
2013-02-09  1:12                                         ` Kim Phillips
2013-02-09  3:16                                         ` Nicolas Pitre
2013-02-09  3:16                                           ` Nicolas Pitre
2013-02-20  2:31                                           ` Kim Phillips
2013-02-20  2:31                                             ` Kim Phillips
2013-02-20  2:38                                             ` Stephen Boyd
2013-02-20  2:38                                               ` Stephen Boyd
2013-02-20  3:17                                             ` Nicolas Pitre
2013-02-20  3:17                                               ` Nicolas Pitre
2013-02-20 10:38                                               ` Woodhouse, David
2013-02-20 10:38                                                 ` Woodhouse, David
2013-02-20 13:36                                                 ` Nicolas Pitre
2013-02-20 13:36                                                   ` Nicolas Pitre
2013-02-20 13:44                                                   ` Woodhouse, David
2013-02-20 13:44                                                     ` Woodhouse, David
2013-02-20 14:06                                                     ` Nicolas Pitre
2013-02-20 14:06                                                       ` Nicolas Pitre
2013-02-20 14:53                                                       ` Woodhouse, David
2013-02-20 14:53                                                         ` Woodhouse, David
2013-02-20 15:43                                                         ` Nicolas Pitre
2013-02-20 15:43                                                           ` Nicolas Pitre
2013-02-21  3:49                                                           ` Kim Phillips
2013-02-21  3:49                                                             ` Kim Phillips
2013-02-21  4:29                                                             ` Nicolas Pitre
2013-02-21  4:29                                                               ` Nicolas Pitre
2013-02-21  6:52                                                               ` Kim Phillips
2013-02-21  6:52                                                                 ` Kim Phillips
2013-02-21 16:40                                                                 ` Nicolas Pitre
2013-02-21 16:40                                                                   ` Nicolas Pitre
2013-02-22  2:33                                                                   ` Kim Phillips
2013-02-22  2:33                                                                     ` Kim Phillips
2013-02-22  3:40                                                                     ` Nicolas Pitre
2013-02-22  3:40                                                                       ` Nicolas Pitre
2013-02-23  1:40                                                                       ` [PATCH v6] " Kim Phillips
2013-02-23  1:40                                                                         ` Kim Phillips
2013-02-23  2:40                                                                         ` Nicolas Pitre
2013-02-23  2:40                                                                           ` Nicolas Pitre
2013-02-23 23:20                                                                         ` Woodhouse, David
2013-02-23 23:20                                                                           ` Woodhouse, David
2013-05-23 16:46                                                                           ` [PATCH v7] " Kim Phillips
2013-05-23 16:46                                                                             ` Kim Phillips
2013-05-23 20:09                                                                             ` Nicolas Pitre
2013-05-23 20:09                                                                               ` Nicolas Pitre
2013-05-23 23:13                                                                             ` Russell King - ARM Linux
2013-05-23 23:13                                                                               ` Russell King - ARM Linux
2013-06-06 22:12                                                                               ` Russell King - ARM Linux
2013-06-06 22:12                                                                                 ` Russell King - ARM Linux
2013-06-06 22:23                                                                                 ` Borislav Petkov
2013-06-06 22:23                                                                                   ` Borislav Petkov
2013-06-07  0:03                                                                                 ` Stephen Rothwell
2013-06-07  0:03                                                                                   ` Stephen Rothwell
2013-05-26  5:38                                                                             ` Dirk Behme
2013-05-26  9:30                                                                               ` Woodhouse, David
2013-10-27  2:41                                                                             ` Nicolas Pitre
2013-10-27  2:41                                                                               ` Nicolas Pitre
2013-11-05 21:45                                                                               ` Kim Phillips
2013-11-05 21:45                                                                                 ` Kim Phillips
2013-02-21 16:37                                                               ` [RFC] " Woodhouse, David
2013-02-21 16:37                                                                 ` Woodhouse, David
2013-02-21 17:27                                                                 ` Nicolas Pitre
2013-02-21 17:27                                                                   ` Nicolas Pitre
2013-03-13 13:35                                             ` Woodhouse, David
2013-03-13 13:35                                               ` Woodhouse, David
2013-01-29 14:13 ` Russell King - ARM Linux [this message]
2013-01-29 14:13   ` Russell King - ARM Linux
2013-01-29 14:43   ` Woodhouse, David
2013-01-29 14:43     ` Woodhouse, David
2013-01-29 14:53 ` Rob Herring
2013-01-29 14:53   ` Rob Herring
2013-01-29 15:10   ` Woodhouse, David
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=20130129141328.GV23505@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=David.Woodhouse@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=daniel.santos@pobox.com \
    --cc=kim.phillips@freescale.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rientjes@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.