COP1: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
Line 204: Line 204:
|+ Compare encoding
|+ Compare encoding
|-
|-
! SignalOnSNAN (Bit 3) !! Smaller (Bit 2) || Equal (Bit 1) || Unordered (Bit 0) || Name || Description
! SignalOnSNAN (Bit 3) !! Smaller (Bit 2) || Equal (Bit 1) || Unordered (Bit 0) || Name || Result formula || Invalid Operation Condition
|-
|-
| 0 || 0 || 0 || 0 || F || false
| 0 || 0 || 0 || 0 || F || Result = false || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 0 || 0 || 0 || 1 || UN || Result = unordered(arg1, arg2)
| 0 || 0 || 0 || 1 || UN || Result = unordered(arg1, arg2) || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 0 || 0 || 1 || 0 || EQ || Result = arg1 == arg2
| 0 || 0 || 1 || 0 || EQ || Result = arg1 == arg2 || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 0 || 0 || 1 || 1 || UEQ || Result = unordered(arg1, arg2) || (arg1 == arg2)
| 0 || 0 || 1 || 1 || UEQ || Result = unordered(arg1, arg2) OR (arg1 == arg2) || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 0 || 1 || 0 || 0 || OLT || Result = arg1 < arg2
| 0 || 1 || 0 || 0 || OLT || Result = arg1 < arg2 || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 0 || 1 || 0 || 1 || ULT || Result = unordered(arg1, arg2) || (arg1 < arg2)
| 0 || 1 || 0 || 1 || ULT || Result = unordered(arg1, arg2) OR (arg1 < arg2) || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 0 || 1 || 1 || 0 || OLE || Result = arg1 <= arg2
| 0 || 1 || 1 || 0 || OLE || Result = arg1 <= arg2 || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 0 || 1 || 1 || 1 || ULE || Result = unordered(arg1, arg2) || (arg1 <= arg2)
| 0 || 1 || 1 || 1 || ULE || Result = unordered(arg1, arg2) OR (arg1 <= arg2) || IsQNAN(arg1) OR isQNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 0 || 0 || 0 || SF || false
| 1 || 0 || 0 || 0 || SF || Result = false || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 0 || 0 || 1 || NGLE || Result = unordered(arg1, arg2)
| 1 || 0 || 0 || 1 || NGLE || Result = unordered(arg1, arg2) || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 0 || 1 || 0 || SEQ || Result = arg1 == arg2
| 1 || 0 || 1 || 0 || SEQ || Result = arg1 == arg2 || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 0 || 1 || 1 || NGL || Result = unordered(arg1, arg2) || (arg1 == arg2)
| 1 || 0 || 1 || 1 || NGL || Result = unordered(arg1, arg2) OR (arg1 == arg2) || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 1 || 0 || 0 || LT || Result = arg1 < arg2
| 1 || 1 || 0 || 0 || LT || Result = arg1 < arg2 || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 1 || 0 || 1 || NGE || Result = unordered(arg1, arg2) || (arg1 < arg2)
| 1 || 1 || 0 || 1 || NGE || Result = unordered(arg1, arg2) OR (arg1 < arg2) || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 1 || 1 || 0 || LE || Result = arg1 <= arg2
| 1 || 1 || 1 || 0 || LE || Result = arg1 <= arg2 || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-
|-
| 1 || 1 || 1 || 1 || NGT || Result = unordered(arg1, arg2) || (arg1 <= arg2)
| 1 || 1 || 1 || 1 || NGT || Result = unordered(arg1, arg2) OR (arg1 <= arg2) || IsNAN(arg1) OR isNAN(arg2) OR isSubnormal(arg1) OR isSubnormal(arg2)
|-|}
|-|}