# Changeset View

Changeset View

# Standalone View

Standalone View

# llvm/include/llvm/CodeGen/ISDOpcodes.h

Show First 20 Lines • Show All 266 Lines • ▼ Show 20 Line(s) | 39 | enum NodeType { | |||
---|---|---|---|---|---|

267 | /// RESULT = [US]SUBSAT(LHS, RHS) - Perform saturation subtraction on 2 | 267 | /// RESULT = [US]SUBSAT(LHS, RHS) - Perform saturation subtraction on 2 | ||

268 | /// integers with the same bit width (W). If the true value of LHS - RHS | 268 | /// integers with the same bit width (W). If the true value of LHS - RHS | ||

269 | /// exceeds the largest value that can be represented by W bits, the | 269 | /// exceeds the largest value that can be represented by W bits, the | ||

270 | /// resulting value is this maximum value. Otherwise, if this value is less | 270 | /// resulting value is this maximum value. Otherwise, if this value is less | ||

271 | /// than the smallest value that can be represented by W bits, the | 271 | /// than the smallest value that can be represented by W bits, the | ||

272 | /// resulting value is this minimum value. | 272 | /// resulting value is this minimum value. | ||

273 | SSUBSAT, USUBSAT, | 273 | SSUBSAT, USUBSAT, | ||

274 | 274 | | |||

275 | /// RESULT = SMULFIX(LHS, RHS, SCALE) - Perform fixed point multiplication on | ||||

276 | /// 2 integers with the same width and scale. SCALE represents the scale of | ||||

277 | /// both operands as fixed point numbers. A scale of zero is effectively | ||||

278 | /// performing multiplication on 2 integers. | ||||

craig.topper: This is says it saturates but I didn't see that implemented in the expansion function. | |||||

Done ReplyMy bad, this intrinsic doesn't perform saturation. leonardchan: My bad, this intrinsic doesn't perform saturation. | |||||

ebevhanUnsubmitted Done ReplyThe intrinsic docs in the LangRef mentions that the last value must be constant, but this comment doesn't. ebevhan: The intrinsic docs in the LangRef mentions that the last value must be constant, but this… | |||||

279 | SMULFIX, | ||||

280 | | ||||

275 | /// Simple binary floating point operators. | 281 | /// Simple binary floating point operators. | ||

276 | FADD, FSUB, FMUL, FDIV, FREM, | 282 | FADD, FSUB, FMUL, FDIV, FREM, | ||

277 | 283 | | |||

278 | /// Constrained versions of the binary floating point operators. | 284 | /// Constrained versions of the binary floating point operators. | ||

279 | /// These will be lowered to the simple operators before final selection. | 285 | /// These will be lowered to the simple operators before final selection. | ||

280 | /// They are used to limit optimizations while the DAG is being | 286 | /// They are used to limit optimizations while the DAG is being | ||

281 | /// optimized. | 287 | /// optimized. | ||

282 | STRICT_FADD, STRICT_FSUB, STRICT_FMUL, STRICT_FDIV, STRICT_FREM, | 288 | STRICT_FADD, STRICT_FSUB, STRICT_FMUL, STRICT_FDIV, STRICT_FREM, | ||

▲ Show 20 Lines • Show All 745 Lines • Show Last 20 Lines |

This is says it saturates but I didn't see that implemented in the expansion function.