[X86] Remove `IntrArgMemOnly` from cmpccxadd intrinsics
authorPhoebe Wang <phoebe.wang@intel.com>
Thu, 3 Nov 2022 02:39:31 +0000 (10:39 +0800)
committerPhoebe Wang <phoebe.wang@intel.com>
Thu, 3 Nov 2022 03:21:01 +0000 (11:21 +0800)
CMPSXADD will modify memory, so we can't use `IntrArgMemOnly` here.
Found it during review D137250.

llvm/include/llvm/IR/IntrinsicsX86.td

index f6cc729..4a836e9 100644 (file)
@@ -5364,13 +5364,13 @@ def int_x86_cmpccxadd32
     : ClangBuiltin<"__builtin_ia32_cmpccxadd32">,
       Intrinsic<[llvm_i32_ty],
                 [llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
-                [IntrArgMemOnly, ImmArg<ArgIndex<3>>]>;
+                [ImmArg<ArgIndex<3>>]>;
 
 def int_x86_cmpccxadd64
     : ClangBuiltin<"__builtin_ia32_cmpccxadd64">,
       Intrinsic<[llvm_i64_ty],
                 [llvm_ptr_ty, llvm_i64_ty, llvm_i64_ty, llvm_i32_ty],
-                [IntrArgMemOnly, ImmArg<ArgIndex<3>>]>;
+                [ImmArg<ArgIndex<3>>]>;
 }
 //===----------------------------------------------------------------------===//
 let TargetPrefix = "x86" in {