[llvm] InstCombine: Add baseline test for minimumnum/maximumnum freeze fold (PR #138728)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue May 6 10:42:56 PDT 2025


https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/138728

None

>From 9c7a03fa3d7cac0542067e14bc522905d9c01fac Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Tue, 6 May 2025 19:39:37 +0200
Subject: [PATCH] InstCombine: Add baseline test for minimumnum/maximumnum
 freeze fold

---
 .../Transforms/InstCombine/freeze-fp-ops.ll   | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/llvm/test/Transforms/InstCombine/freeze-fp-ops.ll b/llvm/test/Transforms/InstCombine/freeze-fp-ops.ll
index 9fb69015a8f7d..8bee84f23e147 100644
--- a/llvm/test/Transforms/InstCombine/freeze-fp-ops.ll
+++ b/llvm/test/Transforms/InstCombine/freeze-fp-ops.ll
@@ -506,6 +506,28 @@ define float @freeze_maximum(float %arg0, float noundef %arg1) {
   ret float %freeze
 }
 
+define float @freeze_minimumnum(float %arg0, float noundef %arg1) {
+; CHECK-LABEL: @freeze_minimumnum(
+; CHECK-NEXT:    [[OP:%.*]] = call float @llvm.minimumnum.f32(float [[ARG0:%.*]], float noundef [[ARG1:%.*]])
+; CHECK-NEXT:    [[FREEZE:%.*]] = freeze float [[OP]]
+; CHECK-NEXT:    ret float [[FREEZE]]
+;
+  %op = call float @llvm.minimumnum.f32(float %arg0, float noundef %arg1)
+  %freeze = freeze float %op
+  ret float %freeze
+}
+
+define float @freeze_maximumnum(float %arg0, float noundef %arg1) {
+; CHECK-LABEL: @freeze_maximumnum(
+; CHECK-NEXT:    [[OP:%.*]] = call float @llvm.maximumnum.f32(float [[ARG0:%.*]], float noundef [[ARG1:%.*]])
+; CHECK-NEXT:    [[FREEZE:%.*]] = freeze float [[OP]]
+; CHECK-NEXT:    ret float [[FREEZE]]
+;
+  %op = call float @llvm.maximumnum.f32(float %arg0, float noundef %arg1)
+  %freeze = freeze float %op
+  ret float %freeze
+}
+
 define i1 @freeze_isfpclass(float %arg0) {
 ; CHECK-LABEL: @freeze_isfpclass(
 ; CHECK-NEXT:    [[ARG0_FR:%.*]] = freeze float [[ARG0:%.*]]



More information about the llvm-commits mailing list