| |||
| Home > Cycle Timings and Interlock Behavior > Floating-point single-precision data processing instructions | |||
This section describes the cycle timing behavior for all single-precision
VFP CDP instructions. This includes arithmetic
instructions such as VMUL.F32, data and immediate
moving instructions such as ”VMOV.F32 <Sd>, #<imm>”, VABS.F32, VNEG.F32,
and ”VMOV <Sd>, <Sm>”, and comparison instructions
and conversion instructions.
Table B.26 shows the floating-point single-precision data processing instructions cycle timing behavior.
Table B.26. Floating-point single-precision data processing instructions cycle timing behavior
| Example instruction | Cycles | Early Reg | Result latency |
|---|---|---|---|
VMLA.F32 <Sd>, <Sn>, <Sm>[a] | 1[b] | <Sn>, <Sm> | 5[c] |
VADD.F32 <Sd>, <Sn>, <Sm>[d] | 1 | <Sn>, <Sm> | 2 |
VDIV.F32 <Sd>, <Sn>, <Sm> | 2 | <Sn>, <Sm> | 16 |
VSQRT.F32 <Sd>, <Sm> | 2 | <Sm> | 16 |
VMOV.F32 <Sd>, #<imm> | 1 | - | 1 |
VMOV.F32 <Sd>, <Sm>[e] | 1 | - | 1 |
VCMP.F32 <Sd>, <Sm>[f] | 1 | <Sd>, <Sm> | - |
VCMP.F32 <Sd>, #0.0[f] | 1 | <Sd> | - |
VCVT.F32.U32 <Sd>, <Sm>[g] | 1 | <Sm> | 2 |
VCVT.F32.U32 <Sd>, <Sd>, #<fbits>[h] | 1 | <Sd> | 2 |
VCVTR.U32.F32 <Sd>, <Sm>[i] | 1 | <Sm> | 2 |
VCVT.U32.F32 <Sd>, <Sd>, #<fbits>[j] | 1 | <Sd> | 2 |
VCVT.F64.F32 <Dd>, <Sn> | 3 | <Sm> | 5 |
[a] Also [b] [c] Except when the instruction
dependent on the result [d] Also [e] Also [f] Also [g] Also [h] Also [i] Also [j] Also | |||