Changes between Version 19 and Version 20 of GcnInstrsVop3
- Timestamp:
- 12/12/15 23:01:08 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GcnInstrsVop3
v19 v20 176 176 <th>Opcode</th> 177 177 <th>Mnemonic (GCN 1.0)</th> 178 <th>Mnemonic (GCN 1. 0)</th>178 <th>Mnemonic (GCN 1.1)</th> 179 179 </tr> 180 180 </thead> … … 830 830 <p>Opcode: 651 (0x28b) for GCN 1.2<br /> 831 831 Syntax: V_BCNT_U32_B32 VDST, SRC0, SRC1<br /> 832 Description: Count bits in SRC0, adds S SRC1, and store result to VDST.<br />832 Description: Count bits in SRC0, adds SRC1, and store result to VDST.<br /> 833 833 Operation:<br /> 834 834 <code>VDST = SRC1 + BITCOUNT(SRC0)</code></p> … … 1118 1118 and store that value to VDST, and set flag in bit for current lane in SDST. 1119 1119 If SRC0 is NaN or infinity then store SRC0 to VDST and set flag. 1120 Otherwise store SRC0 to VDST and clear flag.<br /> 1120 Otherwise store SRC0 to VDST and clear flag. 1121 Bits for inactive threads in SDST are always zeroed.<br /> 1121 1122 Operation:<br /> 1122 1123 <code>FLOAT SF0 = ASFLOAT(SRC0) … … 1124 1125 FLOAT SF2 = ASFLOAT(SRC2) 1125 1126 FLOAT S12 = (SRC0!=SRC1) ? SF1 : SF2 1127 SDST = 0 1126 1128 if (ISNAN(SF0) || ABS(SF0) == INF) 1127 1129 { … … 1151 1153 and store that value to VDST, and set flag in bit for current lane in SDST. 1152 1154 If SRC0 is NaN or infinity then store SRC0 to VDST and set flag. 1153 Otherwise store SRC0 to VDST and clear flag.<br /> 1155 Otherwise store SRC0 to VDST and clear flag. 1156 Bits for inactive threads in SDST are always zeroed.<br /> 1154 1157 Operation:<br /> 1155 1158 <code>DOUBLE SD0 = ASDOUBLE(SRC0) … … 1158 1161 DOUBLE S12 = (SRC0!=SRC1) ? SD1 : SD2 1159 1162 UINT64 MASK = (1ULL<<LANEID) 1163 SDST = 0 1160 1164 if (ISNAN(SD0) || ABS(SD0) == INF) 1161 1165 {