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

Alex Bradbury via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 9 08:09:21 PST 2024


================
@@ -15434,6 +15434,66 @@ 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_experimental_memset_pattern:
+
+'``llvm.experimental.memset.pattern``' Intrinsic
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Syntax:
+"""""""
+
+This is an overloaded intrinsic. You can use
+``llvm.experimental.memset.pattern`` on any integer bit width that is an
+integral number of bytes and for different address spaces. Not all targets
----------------
asb wrote:

Actually that was my bad. There was some discussion about this before and in the end non-integral bitwidths should work and are tested in `llvm/test/Transforms/PreISelIntrinsicLowering/RISCV/memset-pattern.ll`. I've now pushed a fix to LangRef to remove the stated restriction.

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


More information about the llvm-commits mailing list