Cycle Timings and Interlock Behavior

14.19 Floating-point register transfer instructions

This section describes the cycle timing behavior for the various VFP instruction which transfer data between the VFP register file and the integer register file, including the system registers.

All source operands are Normal Regs, and the result latency for non-system register transfers is always 1 cycle.

Instructions that write data from the integer register file to the VFP system registers (FMXR) are blocking, that is, no subsequent instruction can start execution before the FMXR has completed execution. Consequently, the FMXR instructions take six cycles to execute.

All transfers to and from the VFP system registers are also serializing. This means that if there are any outstanding out-of-order-completion VFP instructions, the system register transfer instruction will stall in the iss-stage until these instructions are complete.

VFP instructions that complete out-of-order are VMLA.F32, VMLS.F32, VNMLS.F32, VNMLA.F32, VDIV.F32, VSQRT.F32, VCVT.F64.F32, and double-precision arithmetic and conversion instructions.

Table 14-24shows the floating-point register transfer instructions cycle timing behavior.

Table 14-24 Floating-point register transfer instructions cycle timing behavior

Example instruction

Cycles

Result latency

Comments

 

 

 

 

VMOV <Sn>, <Rt>

1

1

-

 

 

 

 

VMOV <Rt>, <Sn>

1

2

-

 

 

 

 

VMOV <Dn[x]>, <Rt>

1

1

-

 

 

 

 

VMOV.<dt> <Rt>, <Dn[x]>

1

2

-

 

 

 

 

VMOV <Sm>, <Sm1>, <Rt>, <Rt2>

1

1

-

 

 

 

 

VMOV <Rt>, <Rt2>, <Sm>, <Sm1>

1

2

-

 

 

 

 

VMOV <Dm>, <Rt>, <Rt2>

1

1

-

 

 

 

 

VMOV <Rt>, <Rt2>, <Dm>

1

2

-

 

 

 

 

VMSR <spec_reg>, <Rt>

6

-

Blocking and serializing

 

 

 

 

VMRS <Rt>, <spec_reg>

1

2

Serializing

 

 

 

 

VMRS APSR_nzcv, FPSCR

1

-

Serializing

 

 

 

 

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

14-29

ID013010

Non-Confidential, Unrestricted Access

 

Page 393
Image 393
ARM R4F, r1p3 manual Floating-point register transfer instructions, Blocking and serializing, Serializing