[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