summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/CodeGen/ISDOpcodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/CodeGen/ISDOpcodes.h')
-rw-r--r--llvm/include/llvm/CodeGen/ISDOpcodes.h14
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)