[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.
This commit is contained in:
Jonathan Thackray
2025-05-07 08:35:43 +01:00
committed by GitHub
parent e55172f139
commit 62f81a9e06
3 changed files with 6 additions and 0 deletions

View File

@@ -302,6 +302,8 @@ module AtomicRMWBinOp = struct
| UDec_Wrap
| USub_Cond
| USub_Sat
| FMaximum
| FMinimum
end
module ValueKind = struct

View File

@@ -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].

View File

@@ -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