Vector Floating-point Programming
ARM DUI 0068B Copyright © 2000, 2001 ARM Limited. All r ights reserved. 6-43
Example
FMRX r10,FPSCR
BIC r10,r10,#0x00370000
ORR r10,r10,#0x00020000 ; set length = 3, stride = 1
FMXR FPSCR,r10
VFPASSERT VECTOR ; assert vector mode, unspecified length and stride
faddd d4, d4, d0 ; ERROR, scalar in vector mode
fadds s16<3>, s0, s8<3> ; okay
fabss s24<1>, s28<1> ; wrong length, but not faulted (unspecified)
FMRX r10,FPSCR
BIC r10,r10,#0x00370000
ORR r10,r10,#0x00030000 ; set length = 4, stride = 1
FMXR FPSCR,r10
VFPASSERT VECTOR<4> ; assert vector mode, length 4, stride 1
fadds s24<4>, s0, s8<4> ; okay
fabss s24<2>, s24<2> ; ERROR, wrong length
FMRX r10,FPSCR
BIC r10,r10,#0x00370000
ORR r10,r10,#0x00130000 ; set length = 4, stride = 2
FMXR FPSCR,r10
VFPASSERT VECTOR<4:2> ; assert vector mode, length 4, stride 2
fadds s8<4>, s0, s16<4> ; ERROR, wrong stride
fabss s16<4:2>, s28<4:2> ; okay
fadds s8<>, s2, s16<> ; okay (s8 and s16 both have
; length 4 and stride 2.
; s2 is scalar.)