Operation:
T:
0
VCC
15...0
0
VCO
15...0
0
VCE
7...0
for i in 0...7
if (e = 0000) then /* vector operand */
elseif ((e
elseif ((e
elseif ((e
endif
sign ((VR[vs][i*2]
if (sign) then
else
endif
Revision 1.0
16
16
8
j i
& 1110) = 0010) then /* scalar quarter of vector */
3...0
j (e
& 0001) + (i & 1110)
3...0
& 1100) = 0100) then /* scalar half of vector */
3...0
j (e
& 0011) + (i & 1100)
3...0
& 1000) = 1000) then /* scalar whole of vector */
3...0
j (e
& 0111)
3...0
xor VR[vt][j*2]
15...0
ge (VR[vt][j*2]
) < 0)
15...0
le (VR[vs][i*2]
+ VR[vt][j*2]
15...0
vce (VR[vs][i*2]
15...0
eq (VR[vs][i*2]
+ VR[vt][j*2]
15...0
(le) ? -(VR[vt][j*2]
di
15...0
di
ACC[i]
15...0
15...0
le (VR[vt][j*2]
) < 0)
15...0
ge (VR[vs][i*2]
- VR[vt][j*2]
15...0
vce 0
eq (VR[vs][i*2]
- VR[vt][j*2]
15...0
(ge) ? VR[vt][j*2]
di
15...0
di
ACC[i]
15...0
15...0
) < 0)
15...0
) <= 0)
15...0
+ VR[vt][j*2]
) = -1)
15...0
) = 0)
15...0
) : VR[vs][i*2]
15...0
15...0
) >= 0)
15...0
) = 0)
15...0
: VR[vs][i*2]
15...0
15...0
241