[llvm] [VectorCombine] Scalarize binop-like intrinsics (PR #138095)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Thu May 1 09:18:21 PDT 2025


================
@@ -0,0 +1,97 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
+; RUN: opt < %s -S -p vector-combine | FileCheck %s
+
+define <4 x i32> @umax_fixed(i32 %x, i32 %y) {
+; CHECK-LABEL: define <4 x i32> @umax_fixed(
+; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
+; CHECK-NEXT:    [[V_SCALAR:%.*]] = call i32 @llvm.umax.i32(i32 [[X]], i32 [[Y]])
+; CHECK-NEXT:    [[TMP1:%.*]] = call <4 x i32> @llvm.umax.v4i32(<4 x i32> poison, <4 x i32> poison)
----------------
dtcxzyw wrote:

`min/max` intrinsics always propagate poison (See also `propagatesPoison` in `ValueTracking.cpp`).



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


More information about the llvm-commits mailing list