[llvm] [GlobalIsel] Combine G_SELECT (PR #74116)

Thorsten Schütt via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 1 11:49:31 PST 2023


================
@@ -572,13 +589,23 @@ define i32 @select_ororand(i32 %w0, i32 %w1, i32 %w2, i32 %w3) {
 }
 
 define i32 @select_andor(i32 %v1, i32 %v2, i32 %v3) {
-; CHECK-LABEL: select_andor:
-; CHECK:       ; %bb.0:
-; CHECK-NEXT:    cmp w1, w2
-; CHECK-NEXT:    ccmp w0, #0, #4, lt
-; CHECK-NEXT:    ccmp w0, w1, #0, eq
-; CHECK-NEXT:    csel w0, w0, w1, eq
-; CHECK-NEXT:    ret
+; SDISEL-LABEL: select_andor:
+; SDISEL:       ; %bb.0:
+; SDISEL-NEXT:    cmp w1, w2
+; SDISEL-NEXT:    ccmp w0, #0, #4, lt
+; SDISEL-NEXT:    ccmp w0, w1, #0, eq
+; SDISEL-NEXT:    csel w0, w0, w1, eq
+; SDISEL-NEXT:    ret
+;
+; GISEL-LABEL: select_andor:
+; GISEL:       ; %bb.0:
+; GISEL-NEXT:    cmp w0, w1
+; GISEL-NEXT:    csel w8, w0, w1, eq
+; GISEL-NEXT:    cmp w1, w2
+; GISEL-NEXT:    csel w9, w8, w1, ge
+; GISEL-NEXT:    cmp w0, #0
+; GISEL-NEXT:    csel w0, w8, w9, eq
+; GISEL-NEXT:    ret
----------------
tschuett wrote:

loss with icmp

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


More information about the llvm-commits mailing list