@@ -11598,8 +11598,6 @@ operation. The operation must be one of the following keywords:
11598
11598
- fsub
11599
11599
- fmax
11600
11600
- fmin
11601
- - fmaximum
11602
- - fminimum
11603
11601
- uinc_wrap
11604
11602
- udec_wrap
11605
11603
- usub_cond
@@ -11609,7 +11607,7 @@ For most of these operations, the type of '<value>' must be an integer
11609
11607
type whose bit width is a power of two greater than or equal to eight
11610
11608
and less than or equal to a target-specific size limit. For xchg, this
11611
11609
may also be a floating point or a pointer type with the same size constraints
11612
- as integers. For fadd/fsub/fmax/fmin/fmaximum/fminimum , this must be a floating-point
11610
+ as integers. For fadd/fsub/fmax/fmin, this must be a floating-point
11613
11611
or fixed vector of floating-point type. The type of the '``<pointer>``'
11614
11612
operand must be a pointer to that type. If the ``atomicrmw`` is marked
11615
11613
as ``volatile``, then the optimizer is not allowed to modify the
@@ -11650,10 +11648,8 @@ operation argument:
11650
11648
- umin: ``*ptr = *ptr < val ? *ptr : val`` (using an unsigned comparison)
11651
11649
- fadd: ``*ptr = *ptr + val`` (using floating point arithmetic)
11652
11650
- fsub: ``*ptr = *ptr - val`` (using floating point arithmetic)
11653
- - fmax: ``*ptr = maxnum(*ptr, val)`` (match the `llvm.maxnum.*` intrinsic)
11654
- - fmin: ``*ptr = minnum(*ptr, val)`` (match the `llvm.minnum.*` intrinsic)
11655
- - fmaximum: ``*ptr = maximum(*ptr, val)`` (match the `llvm.maximum.*` intrinsic)
11656
- - fminimum: ``*ptr = minimum(*ptr, val)`` (match the `llvm.minimum.*` intrinsic)
11651
+ - fmax: ``*ptr = maxnum(*ptr, val)`` (match the `llvm.maxnum.*`` intrinsic)
11652
+ - fmin: ``*ptr = minnum(*ptr, val)`` (match the `llvm.minnum.*`` intrinsic)
11657
11653
- uinc_wrap: ``*ptr = (*ptr u>= val) ? 0 : (*ptr + 1)`` (increment value with wraparound to zero when incremented above input value)
11658
11654
- udec_wrap: ``*ptr = ((*ptr == 0) || (*ptr u> val)) ? val : (*ptr - 1)`` (decrement with wraparound to input value when decremented below zero).
11659
11655
- usub_cond: ``*ptr = (*ptr u>= val) ? *ptr - val : *ptr`` (subtract only if no unsigned overflow).
0 commit comments