|
MSA 011110 |
010 |
df |
wt |
ws |
wd |
3R 001110 |
|
6 |
3 |
2 |
5 |
5 |
5 |
6 |
MAX_S.df |
Vector Signed Maximum | |
MAX_S.B wd,ws,wt |
MSA |
Vector Signed Maximum |
MAX_S.H wd,ws,wt |
MSA |
Vector Signed Maximum |
MAX_S.W wd,ws,wt |
MSA |
Vector Signed Maximum |
MAX_S.D wd,ws,wt |
MSA |
Vector Signed Maximum |
Vector Signed Maximum
Vector and vector signed maximum.
wd[i] = max(ws[i], wt[i])
Maximum values between signed elements in vector wt and signed elements in vector ws are written to vector wd.
The operands and results are values in integer data format df.
No data-dependent exceptions are possible.
MAX_S.B
for i in 0 .. WRLEN/8-1
WR[wd]8i+7..8i = max_s(WR[ws]8i+7..8i, WR[wt]8i+7..8i, 8)
endfor
MAX_S.H
for i in 0 .. WRLEN/16-1
WR[wd]16i+15..16i = max_s(WR[ws]16i+15..16i, WR[wt]16i+15..16i, 16)
endfor
MAX_S.W
for i in 0 .. WRLEN/32-1
WR[wd]32i+31..32i = max_s(WR[ws]32i+31..32i, WR[wt]32i+31..32i, 32)
endfor
MAX_S.D
for i in 0 .. WRLEN/64-1
WR[wd]64i+63..64i = max_s(WR[ws]64i+63..64i, WR[wt]64i+63..64i, 64)
endfor
function max_s(ts, tt, n)
t = ttn-1 || tt
s = tsn-1 || ts
if t < s then
return ts
else
return tt
endif
endfunction max_s
Reserved Instruction Exception, MSA Disabled Exception.