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
next prev parent 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