Simplify some getNode calls.
[oota-llvm.git] / include / llvm / Intrinsics.td
index 633063eb48fecef5537ab8c87e6f447ac73d165e..866107cbfb31a67ce408c7c1e499eec2c31ff6a2 100644 (file)
@@ -48,6 +48,9 @@ def IntrWriteArgMem : IntrinsicProperty;
 // default if the intrinsic has no other Intr*Mem property.
 def IntrWriteMem : IntrinsicProperty;
 
+// Commutative - This intrinsic is commutative: X op Y == Y op X.
+def Commutative : IntrinsicProperty;
+
 //===----------------------------------------------------------------------===//
 // Types used by intrinsics.
 //===----------------------------------------------------------------------===//
@@ -302,6 +305,11 @@ def int_atomic_load_xor  : Intrinsic<[llvm_anyint_ty,
                                   LLVMMatchType<0>],
                                  [IntrWriteArgMem]>,
                            GCCBuiltin<"__sync_fetch_and_xor">;
+def int_atomic_load_nand : Intrinsic<[llvm_anyint_ty,
+                                  LLVMPointerType<LLVMMatchType<0>>,
+                                  LLVMMatchType<0>],
+                                 [IntrWriteArgMem]>,
+                           GCCBuiltin<"__sync_fetch_and_nand">;
 def int_atomic_load_min  : Intrinsic<[llvm_anyint_ty,
                                    LLVMPointerType<LLVMMatchType<0>>,
                                    LLVMMatchType<0>],