Assembler User GuidePreface Overview of the Assembler Overview of the ARM Architecture Structure of Assembly Language Modules Writing ARM Assembly Language Condition Codes Using the Assembler Symbols, Literals, Expressions, and Operators VFP Programming Architecture support for VFP Half-precision extension for VFP Fused Multiply-Add extension for VFP Extension register bank mapping in VFP VFP views of the extension register bank Load values to VFP registers Conditional execution of VFP instructions Floating-point exceptions in VFP VFP data types Extended notation extension for VFP VFP system registers Flush-to-zero mode When to use flush-to-zero mode in VFP The effects of using flush-to-zero mode in VFP VFP operations not affected by flush-to-zero mode VFP vector mode Vectors in the VFP extension register bank VFP vector wrap-around VFP vector stride Restriction on vector length Control of scalar, vector, and mixed operations Overview of VFP directives and vector notation Pre-UAL VFP syntax and mnemonics Vector notation VFPASSERT SCALAR VFPASSERT VECTOR Assembler Command-line Options ARM and Thumb Instructions VFP Instructions Directives Reference Via File Syntax
8.25 VFPASSERT SCALAR
If a function expects VFP to be in vector mode on exit, place a
This directive does not generate any code. It is only an assertion by the programmer. The assembler produces error messages if any such assertions are inconsistent with each other, or with any vector notation in VFP data processing instructions.
The assembler faults vector notation in VFP data processing instructions following a
VFPASSERT SCALAR ; scalar mode faddd d4, d4, d0 ; okay fadds s4<3>, s8<3>, s0 ; ERROR, vectors in scalar mode fabss s24<1>, s28<1> ; ERROR, vectors in scalar mode ; (even though length==1)
of your data.