MSA 011110 |
1010 |
df |
wt |
ws |
wd |
3RF 011100 |
6 |
4 |
1 |
5 |
5 |
5 |
6 |
FSUNE.df |
Vector Floating-Point Signaling Compare Unordered or Not Equal | |
FSUNE.W wd,ws,wt |
MSA |
Vector Floating-Point Signaling Compare Unordered or Not Equal |
FSUNE.D wd,ws,wt |
MSA |
Vector Floating-Point Signaling Compare Unordered or Not Equal |
Vector Floating-Point Signaling Compare Unordered or Not Equal
Vector to vector floating-point signaling compare for unordered or not equal; if true all destination bits are set, otherwise clear.
wd[i] = (ws[i] !=?(signaling) wt[i])
Set all bits to 1 in wd elements if the corresponding ws and wt floating-point elements are unordered or not equal, otherwise set all bits to 0.
The signaling compare operation is defined by the IEEE Standard for Floating-Point Arithmetic 754TM-2008.
The Inexact Exception is not signaled when subnormal input operands are flushed based on the flush-to-zero bit FS in
MSA Control and Status Register MSACSR. In case of a floating-point exception, the default result has all bits set to
1.
The operands are values in floating-point data format df. The results are values in integer data format df.
Data-dependent exceptions are poss ible as s pecified by the I EEE Standard for Floating-Point Arithmetic 754TM
2008.
FSUNE.W for i in 0 .. WRLEN/32-1 c = UnorderedSigFP(WR[ws]32i+31..32i, WR[wt]32i+31..32i, 32) d = NotEqualSigFP(WR[ws]32i+31..32i, WR[wt]32i+31..32i, 32) WR[wd]32i+31..32i = (c | d)32 endfor FSUNE.D for i in 0 .. WRLEN/64-1 c = UnorderedSigFP(WR[ws]64i+63..64i, WR[wt]64i+63..64i, 64) c = NotEqualSigFP(WR[ws]64i+63..64i, WR[wt]64i+63..64i, 64) WR[wd]64i+63..64i = (c | d)64 endfor function UnorderedSigFP(tt, ts, n) /* Implementation defined signaling unordered compare operation. */ endfunction UnorderedSigFP function NotEqualSigFP(tt, ts, n) /* Implementation defined signaling not equal compare operation. */ endfunction NotEqualSigFP
Reserved Instruction Exception, MSA Disabled Exception, MSA Floating Point Exception.