975 | | <p>Opcode: 337 (0x151) for GCN 1.0/1.1; 465 (0x1d0) for GCN 1.2<br /> |
976 | | Syntax: V_MIN3_B32 VDST, SRC0, SRC1, SRC2 </p> |
| 975 | <p>Opcode: 337 (0x151) for GCN 1.0/1.1; 465 (0x1d1) for GCN 1.2<br /> |
| 976 | Syntax: V_MIN3_F32 VDST, SRC0, SRC1, SRC2<br /> |
| 977 | Description: Choose smallest value from FP values SRC0, SRC1, SRC2, and store it to VDST.<br /> |
| 978 | Operation:<br /> |
| 979 | <code>VDST = MIN3(ASFLOAT(SRC0), ASFLOAT(SRC1), ASFLOAT(SRC2))</code></p> |
| 980 | <h4>V_MULLIT_F32</h4> |
| 981 | <p>Opcode: 336 (0x150) for GCN 1.0/1.1; 464 (0x1d0) for GCN 1.2<br /> |
| 982 | Syntax: V_MULLIT_F32 VDST, SRC0, SRC1, SRC2<br /> |
| 983 | Description: Multiply FP value SRC0 and FP value SRC1, and store it to VDST if FP value in |
| 984 | SRC2 is greater than zero, otherwise, store -MAX_FLOAT to VDST. |
| 985 | If one of value is 0.0 and previous condition is satisfied then always store |
| 986 | 0.0 to VDST (do not apply IEEE rules for 0.0*x).<br /> |
| 987 | Operation:<br /> |
| 988 | <code>VDST = -MAX_FLOAT |
| 989 | if (ASFLOAT(SRC2) > 0.0 && !ISNAN(ASFLOAT(SRC2))) |
| 990 | { |
| 991 | VDST = 0.0 |
| 992 | if (ASFLOAT(SRC0)!=0.0 && ASFLOAT(SRC1)!=0.0) |
| 993 | VDST = ASFLOAT(SRC0) * ASFLOAT(SRC1) |
| 994 | }</code></p> |