[llvm-commits] [PATCH]Convert vmov instructions between GPR and S registers for Cortex-A9
Silviu Baranga
silbar01 at arm.com
Tue Aug 7 06:37:39 PDT 2012
Hi,
There is a performance penalty on Cortex-A9 when switching between VFP and
NEON code.
For the VFP VMOV instructions between S registers and GPR registers, we have
a NEON
instruction with the same functionality which can be used instead (VMOV.32).
Because
we know the required lane for the VMOV.32 instruction only post-RA, this
instruction
is currently not being used, even when surrounded by NEON code.
This patch implements a post-RA pass which converts VMOV instructions
between GPR
and S registers into equivalent VMOV.32 instructions, when the VMOV
instruction is
followed by NEON-specific instruction. The code introduced by this patch
will also
be useful for other similar transformations.
Please review this patch.
Thanks,
Silviu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vmov32.diff
Type: application/octet-stream
Size: 14227 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120807/76d9cbde/attachment.obj>
More information about the llvm-commits
mailing list