Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options
Date: Thu, 23 Oct 2014 10:27:35 +0200	[thread overview]
Message-ID: <5448BBF7.1010206@mind.be> (raw)
In-Reply-To: <20141023094932.7e5559b7@free-electrons.com>

On 23/10/14 09:49, Thomas Petazzoni wrote:
> Dear Arnout Vandecappelle,
> 
> On Wed, 22 Oct 2014 18:14:21 +0200, Arnout Vandecappelle wrote:
> 
>>  I wouldn't want to actually use it unless tested on real hardware, however.
> 
> Well, if you grep through the gst-ffmpeg tree, you will that the
> ARMV6T2 condition is only used in two places in
> gst-libs/ext/libav/libavcodec/arm/asm.S :
> 
> .macro  mov32   rd, val
> #if HAVE_ARMV6T2
>         movw            \rd, #(\val) & 0xffff
>     .if (\val) >> 16
>         movt            \rd, #(\val) >> 16
>     .endif
> #else
>         ldr             \rd, =\val
> #endif
> .endm
> 
> .macro  movrel rd, val
> #if HAVE_ARMV6T2 && !CONFIG_PIC && !defined(__APPLE__)
>         movw            \rd, #:lower16:\val
>         movt            \rd, #:upper16:\val
> #else
>         ldr             \rd, =\val
> #endif
> .endm
> 
> So when you have ARMV6T2, it uses movw/movt instead of ldr. That's the
> only difference with the non-ARMV6T2 mode. Then you can read
> http://community.arm.com/groups/processors/blog/2010/07/27/how-to-load-constants-in-assembly-for-arm-architecture,
> which says:
> 
> """
> As mentioned earlier, there are other ways to load a constant. In the
> latest version of the ARM architecture, ARMv7, two new instructions
> were introduced to improve the situation:
> 
> - movw, or move wide, will move a 16-bit constant into a register,
>   implicitly zeroing the top 16 bits of the target register.
> 
> - movt, or move top, will move a 16-bit constant into the top half of a
>   given register without altering the bottom 16 bits. Now moving an
>   arbitrary 32-bit constant is as simple as this:
> """
> 
> So I think it's safe to say than --enable-armv6t2 can be used on ARMv7
> as well.

 Okay, that's good enough for me.


 Regards,
 Arnout




-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  reply	other threads:[~2014-10-23  8:27 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-21 20:26 [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 01/30] arch/arm: add blind options to know the ARM architecture Thomas Petazzoni
2014-10-21 21:06   ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 02/30] ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 21:09   ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 03/30] ffmpeg: fix ARM condition for --{enable, disable}-vfp Thomas Petazzoni
2014-10-21 21:15   ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 04/30] gst-ffmpeg: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 21:18   ` Yann E. MORIN
2014-10-22  7:34     ` Thomas Petazzoni
2014-10-22 16:14       ` Arnout Vandecappelle
2014-10-23  7:49         ` Thomas Petazzoni
2014-10-23  8:27           ` Arnout Vandecappelle [this message]
2014-10-21 20:26 ` [Buildroot] [PATCH v2 05/30] gst-ffmpeg: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
2014-10-21 21:24   ` Yann E. MORIN
2014-10-21 20:26 ` [Buildroot] [PATCH v2 06/30] gst1-libav: use the new BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 07/30] gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 08/30] mplayer: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-11-06 22:33   ` Peter Korsgaard
2014-10-21 20:26 ` [Buildroot] [PATCH v2 09/30] libplayer: use BR2_ARM_CPU_ARM* option Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 10/30] nettle: use the BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 11/30] nodejs: use " Thomas Petazzoni
2014-10-21 20:26 ` [Buildroot] [PATCH v2 12/30] qt5: use the " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 13/30] speex: use " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 14/30] vo-aacenc: use the " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 15/30] webkit: use " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 16/30] valgrind: use the " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 17/30] x264: use the BR2_ARM_CPU_ARMV7A option Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 18/30] libnspr: " Thomas Petazzoni
2014-11-06 22:57   ` Peter Korsgaard
2014-10-21 20:27 ` [Buildroot] [PATCH v2 19/30] toolchain-external: use BR2_ARM_CPU_ARM* options Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 20/30] dhcpcd: do not pass --target option Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 21/30] arch/arm: do not distinguish revisions of ARM1136JF-S Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 22/30] arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 23/30] ffmpeg: use arch and cpu instead of tune Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 24/30] arch/x86: get rid of BR2_GCC_TARGET_TUNE Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 25/30] arch/sparc: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 26/30] arch/powerpc: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 27/30] arch/m68k: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 28/30] gcc: do not use BR2_GCC_TARGET_TUNE anymore Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 29/30] toolchain-external: " Thomas Petazzoni
2014-10-21 20:27 ` [Buildroot] [PATCH v2 30/30] arch: remove the BR2_GCC_TARGET_TUNE option Thomas Petazzoni
2014-10-25 10:46 ` [Buildroot] [PATCH v2 00/30] Removal of BR2_GCC_TARGET_TUNE and other arch/ updates Thomas Petazzoni
2014-11-06  7:24 ` Thomas Petazzoni
2014-11-06 22:06   ` Peter Korsgaard
2014-11-06 23:20 ` Peter Korsgaard

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=5448BBF7.1010206@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /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