diff options
Diffstat (limited to 'llvm/docs')
-rw-r--r-- | llvm/docs/LangRef.rst | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 9168648db6e..d9e9d73242d 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -8667,15 +8667,18 @@ operation. The operation must be one of the following keywords: - min - umax - umin +- fadd +- fsub For most of these operations, the type of '<value>' must be an integer type whose bit width is a power of two greater than or equal to eight and less than or equal to a target-specific size limit. For xchg, this may also be a floating point type with the same size constraints as -integers. The type of the '``<pointer>``' operand must be a pointer to -that type. If the ``atomicrmw`` is marked as ``volatile``, then the -optimizer is not allowed to modify the number or order of execution of -this ``atomicrmw`` with other :ref:`volatile operations <volatile>`. +integers. For fadd/fsub, this must be a floating point type. The +type of the '``<pointer>``' operand must be a pointer to that type. If +the ``atomicrmw`` is marked as ``volatile``, then the optimizer is not +allowed to modify the number or order of execution of this +``atomicrmw`` with other :ref:`volatile operations <volatile>`. A ``atomicrmw`` instruction can also take an optional ":ref:`syncscope <syncscope>`" argument. @@ -8701,6 +8704,8 @@ operation argument: comparison) - umin: ``*ptr = *ptr < val ? *ptr : val`` (using an unsigned comparison) +- fadd: ``*ptr = *ptr + val`` (using floating point arithmetic) +- fsub: ``*ptr = *ptr - val`` (using floating point arithmetic) Example: """""""" |