diff options
Diffstat (limited to 'llvm/include/llvm/CodeGen/ISDOpcodes.h')
-rw-r--r-- | llvm/include/llvm/CodeGen/ISDOpcodes.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/ISDOpcodes.h b/llvm/include/llvm/CodeGen/ISDOpcodes.h index 9fedb531db0c..beb99b2ff5cf 100644 --- a/llvm/include/llvm/CodeGen/ISDOpcodes.h +++ b/llvm/include/llvm/CodeGen/ISDOpcodes.h @@ -462,6 +462,9 @@ enum NodeType { STRICT_FSETCC, STRICT_FSETCCS, + // FPTRUNC_ROUND - This corresponds to the fptrunc_round intrinsic. + FPTRUNC_ROUND, + /// FMA - Perform a * b + c with no intermediate rounding step. FMA, @@ -614,6 +617,17 @@ enum NodeType { MULHU, MULHS, + /// AVGFLOORS/AVGFLOORU - Averaging add - Add two integers using an integer of + /// type i[N+1], halving the result by shifting it one bit right. + /// shr(add(ext(X), ext(Y)), 1) + AVGFLOORS, + AVGFLOORU, + /// AVGCEILS/AVGCEILU - Rounding averaging add - Add two integers using an + /// integer of type i[N+2], add 1 and halve the result by shifting it one bit + /// right. shr(add(ext(X), ext(Y), 1), 1) + AVGCEILS, + AVGCEILU, + // ABDS/ABDU - Absolute difference - Return the absolute difference between // two numbers interpreted as signed/unsigned. // i.e trunc(abs(sext(Op0) - sext(Op1))) becomes abds(Op0, Op1) |