[llvm] [IR] Initial introduction of memset_pattern (PR #97583)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 31 03:28:05 PDT 2024


================
@@ -15230,6 +15230,62 @@ The behavior of '``llvm.memset.inline.*``' is equivalent to the behavior of
 '``llvm.memset.*``', but the generated code is guaranteed not to call any
 external functions.
 
+.. _int_memset_pattern:
+
+'``llvm.memset_pattern``' Intrinsic
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Syntax:
+"""""""
+
+This is an overloaded intrinsic. You can use ``llvm.memset_pattern`` on
+any integer bit width that is an integral number of bytes and for different
+address spaces. Not all targets support all bit widths however.
+
+::
+
+      declare void @llvm.memset_pattern.p0.i64.i128(ptr <dest>, i128 <val>,
+                                                    i64 <len>, i1 <isvolatile>)
+
+Overview:
+"""""""""
+
+The '``llvm.memset_pattern.*``' intrinsics fill a block of memory with
----------------
arsenm wrote:

Yes. I do not know why we have a handful of intrinsics that go out of their way to use an _ separator in the name, but we shouldn't add any more of them 

https://github.com/llvm/llvm-project/pull/97583


More information about the llvm-commits mailing list