aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/SelectionDAGNodes.h
diff options
context:
space:
mode:
authorMon P Wang <wangmp@apple.com>2008-05-05 19:05:59 +0000
committerMon P Wang <wangmp@apple.com>2008-05-05 19:05:59 +0000
commit63307c335aa08b0d6a75f81d64d79af7e90eb78b (patch)
treeda7531194465dc141c0d26ff68d1989c462b2c89 /include/llvm/CodeGen/SelectionDAGNodes.h
parent94bbdc8c254e259eff22eb5d6a1012fc1438fb45 (diff)
Added addition atomic instrinsics and, or, xor, min, and max.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50663 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index c9872cf19f..a02f7b96f0 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -594,6 +594,24 @@ namespace ISD {
// the return is always the original value in *ptr
ATOMIC_SWAP,
+ // Val, OUTCHAIN = ATOMIC_LSS(INCHAIN, ptr, amt)
+ // this corresponds to the atomic.lss intrinsic.
+ // *ptr - amt is stored to *ptr atomically.
+ // the return is always the original value in *ptr
+ ATOMIC_LSS,
+
+ // Val, OUTCHAIN = ATOMIC_L[OpName]S(INCHAIN, ptr, amt)
+ // this corresponds to the atomic.[OpName] intrinsic.
+ // op(*ptr, amt) is stored to *ptr atomically.
+ // the return is always the original value in *ptr
+ ATOMIC_LOAD_AND,
+ ATOMIC_LOAD_OR,
+ ATOMIC_LOAD_XOR,
+ ATOMIC_LOAD_MIN,
+ ATOMIC_LOAD_MAX,
+ ATOMIC_LOAD_UMIN,
+ ATOMIC_LOAD_UMAX,
+
// BUILTIN_OP_END - This must be the last enum value in this list.
BUILTIN_OP_END
};