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.