MSA 011110 |
111 |
df |
wt |
ws |
wd |
3R 001110 |
6 |
3 |
2 |
5 |
5 |
5 |
6 |
MIN_A.df |
Vector Minimum Based on Absolute Value | |
MIN_A.B wd,ws,wt |
MSA |
Vector Minimum Based on Absolute Value |
MIN_A.H wd,ws,wt |
MSA |
Vector Minimum Based on Absolute Value |
MIN_A.W wd,ws,wt |
MSA |
Vector Minimum Based on Absolute Value |
MIN_A.D wd,ws,wt |
MSA |
Vector Minimum Based on Absolute Value |
Vector Minimum Based on Absolute Value
Vector and vector minimum based on the absolute values.
wd[i] = absolute_value(ws[i]) < absolute_value(wt[i])? ws[i]: wt[i]
The value with the smallest magnitude, i.e. absolute value, between corresponding signed elements in vector ws and vector wt are written to vector wd.
The minimum negative value representable has the largest absolute value.
The operands and results are values in integer data format df.
No data-dependent exceptions are possible.
MIN_A.B for i in 0 .. WRLEN/8-1 WR[wd]8i+7..8i = min_a(WR[ws]8i+7..8i, WR[wt]8i+7..8i, 8) endfor MIN_A.H for i in 0 .. WRLEN/16-1 WR[wd]16i+15..16i = min_a(WR[ws]16i+15..16i, WR[wt]16i+15..16i, 16) endfor MIN_A.W for i in 0 .. WRLEN/32-1 WR[wd]32i+31..32i = min_a(WR[ws]32i+31..32i, WR[wt]32i+31..32i, 32) endfor MIN_A.D for i in 0 .. WRLEN/64-1 WR[wd]64i+63..64i = min_a(WR[ws]64i+63..64i, WR[wt]64i+63..64i, 64) endfor function min_a(ts, tt, n) t = 0 || abs(tt, n) s = 0 || abs(ts, n) if t > s then return ts else return tt endif endfunction min_a
Reserved Instruction Exception, MSA Disabled Exception.