[llvm] [InstCombine] Canonicalize `smax(smin(X, MinC), MaxC) -> smin(smax(X, MaxC), MinC)` (PR #136665)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 22 02:45:00 PDT 2025


================
@@ -0,0 +1,209 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
+; RUN: opt < %s -passes=instcombine -S | FileCheck %s
+
+; smax(smin(X, MinC), MaxC) -> smin(smax(X, MaxC), MinC)
+
+declare i16 @llvm.smax.i16(i16, i16)
+declare i16 @llvm.smin.i16(i16, i16)
+declare <2 x i16> @llvm.smax.v2i16(<2 x i16>, <2 x i16>)
+declare <2 x i16> @llvm.smin.v2i16(<2 x i16>, <2 x i16>)
----------------
dtcxzyw wrote:

Explicit intrinsic declaration is unnecessary.


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


More information about the llvm-commits mailing list