[llvm] 62f81a9 - [llvm] Add extra tests for atomicrmw fmaximum/fminimum (#138252)

via llvm-commits llvm-commits at lists.llvm.org
Wed May 7 00:35:47 PDT 2025


Author: Jonathan Thackray
Date: 2025-05-07T08:35:43+01:00
New Revision: 62f81a9e06c2f27f7181e53441df8c7dc8f1b99b

URL: https://github.com/llvm/llvm-project/commit/62f81a9e06c2f27f7181e53441df8c7dc8f1b99b
DIFF: https://github.com/llvm/llvm-project/commit/62f81a9e06c2f27f7181e53441df8c7dc8f1b99b.diff

LOG: [llvm] Add extra tests for atomicrmw fmaximum/fminimum (#138252)

Add extra tests for `atomicrmw fmaximum/fminimum`, that I missed in my
original PR #137701, and also `fmaximum`/`fminimum` should be defined in
the ocaml bindings.

Added: 
    

Modified: 
    llvm/bindings/ocaml/llvm/llvm.ml
    llvm/bindings/ocaml/llvm/llvm.mli
    llvm/test/Bindings/llvm-c/atomics.ll

Removed: 
    


################################################################################
diff  --git a/llvm/bindings/ocaml/llvm/llvm.ml b/llvm/bindings/ocaml/llvm/llvm.ml
index c205fafbbbc16..3031283055c26 100644
--- a/llvm/bindings/ocaml/llvm/llvm.ml
+++ b/llvm/bindings/ocaml/llvm/llvm.ml
@@ -302,6 +302,8 @@ module AtomicRMWBinOp = struct
   | UDec_Wrap
   | USub_Cond
   | USub_Sat
+  | FMaximum
+  | FMinimum
 end
 
 module ValueKind = struct

diff  --git a/llvm/bindings/ocaml/llvm/llvm.mli b/llvm/bindings/ocaml/llvm/llvm.mli
index e203961c6d7dd..460be4fe370b1 100644
--- a/llvm/bindings/ocaml/llvm/llvm.mli
+++ b/llvm/bindings/ocaml/llvm/llvm.mli
@@ -337,6 +337,8 @@ module AtomicRMWBinOp : sig
   | UDec_Wrap
   | USub_Cond
   | USub_Sat
+  | FMaximum
+  | FMinimum
 end
 
 (** The kind of an [llvalue], the result of [classify_value v].

diff  --git a/llvm/test/Bindings/llvm-c/atomics.ll b/llvm/test/Bindings/llvm-c/atomics.ll
index 588bd240f980c..c9f50ccfba69f 100644
--- a/llvm/test/Bindings/llvm-c/atomics.ll
+++ b/llvm/test/Bindings/llvm-c/atomics.ll
@@ -54,6 +54,8 @@ define void @atomic_rmw_ops(ptr %p, i32 %i, float %f) {
   %a.fsub      = atomicrmw fsub      ptr %p, float %f acq_rel, align 8
   %a.fmax      = atomicrmw fmax      ptr %p, float %f acq_rel, align 8
   %a.fmin      = atomicrmw fmin      ptr %p, float %f acq_rel, align 8
+  %a.fmaximum  = atomicrmw fmaximum  ptr %p, float %f acq_rel, align 8
+  %a.fminimum  = atomicrmw fminimum  ptr %p, float %f acq_rel, align 8
 
   %a.uinc_wrap = atomicrmw uinc_wrap ptr %p, i32 %i acq_rel, align 8
   %a.udec_wrap = atomicrmw udec_wrap ptr %p, i32 %i acq_rel, align 8


        


More information about the llvm-commits mailing list