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