[llvm] [llvm] Add support for llvm IR atomicrmw fminimum/fmaximum instructions (PR #136759)

Jonathan Thackray via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 23 04:47:55 PDT 2025


================
@@ -78,3 +78,25 @@ define float @fmin() {
   ret float %j
 ; CHECK: ret float [[INST]]
 }
+
+define float @fmaximum() {
+; CHECK-LABEL: @fmaximum(
+  %i = alloca float
+  %j = atomicrmw fmaximum ptr %i, float 42.0 monotonic
+; CHECK: [[INST:%[a-z0-9]+]] = load
+; CHECK-NEXT: call float @llvm.maximum.f32
+; CHECK-NEXT: store
+  ret float %j
+; CHECK: ret float [[INST]]
+}
+
+define float @fminimum() {
+; CHECK-LABEL: @fminimum(
+  %i = alloca float
+  %j = atomicrmw fminimum ptr %i, float 42.0 monotonic
+; CHECK: [[INST:%[a-z0-9]+]] = load
+; CHECK-NEXT: call float @llvm.minimum.f32
+; CHECK-NEXT: store
+  ret float %j
+; CHECK: ret float [[INST]]
+}
----------------
jthackray wrote:

Thanks, done.

https://github.com/llvm/llvm-project/pull/136759


More information about the llvm-commits mailing list