[llvm] [SPIR-V] Simplify i1 comparisons before expanding to logical ops (PR #214638)

Dmitry Sidorov via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 05:01:51 PDT 2026


================
@@ -42,3 +42,37 @@ define <4 x i1> @ugt_v4i1(<4 x i1> %p, <4 x i1> %q) {
   %r = icmp ugt <4 x i1> %p, %q
   ret <4 x i1> %r
 }
+
+; Constant operands must fold directly, without expanding to logical ops.
+
+define i1 @ugt_i1_const(i1 %p) {
+; CHECK-LABEL: define i1 @ugt_i1_const(
+; CHECK-SAME: i1 [[P:%.*]]) {
+; CHECK-NEXT:    ret i1 [[P]]
+  %r = icmp ugt i1 %p, false
+  ret i1 %r
+}
----------------
MrSidims wrote:

Won't opt -O1/2/3 do it anyway?

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


More information about the llvm-commits mailing list