16.5.2. Passing data between ARM and NEON

Using MRC instructions to pass data from NEON to ARM takes a minimum of 20 cycles. The data transfers from the NEON register file at the back of the NEON pipeline to the ARM register file at the beginning of the ARM pipeline. You can hide some or all of this latency by doing multiple back-to-back MRC transfers. The processor continues to issue instructions following a MRC until it encounters an instruction that must read or write the ARM register file. At that point, instruction issue stalls until all pending register transfers from NEON to ARM are complete.

Using MCR instructions to pass data from ARM to NEON does not require any additional cycles. To the NEON unit, the transfers are similar to NEON load instructions.

Copyright © 2006 ARM Limited. All rights reserved.ARM DDI 0344B
Non-Confidential