@@ -15430,63 +15430,6 @@ The behavior of '``llvm.memset.inline.*``' is equivalent to the behavior of
1543015430'``llvm.memset.*``', but the generated code is guaranteed not to call any
1543115431external functions.
1543215432
15433- .. _int_experimental_memset_pattern:
15434-
15435- '``llvm.experimental.memset.pattern``' Intrinsic
15436- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15437-
15438- Syntax:
15439- """""""
15440-
15441- This is an overloaded intrinsic. You can use
15442- ``llvm.experimental.memset.pattern`` on any integer bit width and for
15443- different address spaces. Not all targets support all bit widths however.
15444-
15445- ::
15446-
15447- declare void @llvm.experimental.memset.pattern.p0.i128.i64(ptr <dest>, i128 <val>,
15448- i64 <count>, i1 <isvolatile>)
15449-
15450- Overview:
15451- """""""""
15452-
15453- The '``llvm.experimental.memset.pattern.*``' intrinsics fill a block of memory
15454- with a particular value. This may be expanded to an inline loop, a sequence of
15455- stores, or a libcall depending on what is available for the target and the
15456- expected performance and code size impact.
15457-
15458- Arguments:
15459- """"""""""
15460-
15461- The first argument is a pointer to the destination to fill, the second
15462- is the value with which to fill it, the third argument is an integer
15463- argument specifying the number of times to fill the value, and the fourth is a
15464- boolean indicating a volatile access.
15465-
15466- The :ref:`align <attr_align>` parameter attribute can be provided
15467- for the first argument.
15468-
15469- If the ``isvolatile`` parameter is ``true``, the
15470- ``llvm.experimental.memset.pattern`` call is a :ref:`volatile operation
15471- <volatile>`. The detailed access behavior is not very cleanly specified and it
15472- is unwise to depend on it.
15473-
15474- Semantics:
15475- """"""""""
15476-
15477- The '``llvm.experimental.memset.pattern*``' intrinsic fills memory starting at
15478- the destination location with the given pattern ``<count>`` times,
15479- incrementing by the allocation size of the type each time. The stores follow
15480- the usual semantics of store instructions, including regarding endianness and
15481- padding. If the argument is known to be aligned to some boundary, this can be
15482- specified as an attribute on the argument.
15483-
15484- If ``<count>`` is 0, it is no-op modulo the behavior of attributes attached to
15485- the arguments.
15486- If ``<count>`` is not a well-defined value, the behavior is undefined.
15487- If ``<count>`` is not zero, ``<dest>`` should be well-defined, otherwise the
15488- behavior is undefined.
15489-
1549015433.. _int_sqrt:
1549115434
1549215435'``llvm.sqrt.*``' Intrinsic
0 commit comments