[llvm] [DAG] Fold SETCC against isKnownNeverZero (PR #184010)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 2 03:10:09 PST 2026
================
@@ -621,18 +621,18 @@ define i1 @orflag64rm(ptr %ptr, i64 %b) {
define i1 @orflag8ri(i8 %a) {
; CHECK-LABEL: orflag8ri:
; CHECK: # %bb.0:
-; CHECK-NEXT: orb $-124, %dil, %cl # encoding: [0x62,0xf4,0x74,0x18,0x80,0xcf,0x84]
-; CHECK-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
-; CHECK-NEXT: movb %cl, d64(%rip) # encoding: [0x88,0x0d,A,A,A,A]
+; CHECK-NEXT: orb $-124, %dil, %al # encoding: [0x62,0xf4,0x7c,0x18,0x80,0xcf,0x84]
+; CHECK-NEXT: movb %al, d64(%rip) # encoding: [0x88,0x05,A,A,A,A]
; CHECK-NEXT: # fixup A - offset: 2, value: d64, kind: reloc_riprel_4byte
+; CHECK-NEXT: xorl %eax, %eax # encoding: [0x31,0xc0]
; CHECK-NEXT: retq # encoding: [0xc3]
;
; NF-LABEL: orflag8ri:
; NF: # %bb.0:
-; NF-NEXT: orb $-124, %dil, %cl # encoding: [0x62,0xf4,0x74,0x18,0x80,0xcf,0x84]
-; NF-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
-; NF-NEXT: movb %cl, d64(%rip) # encoding: [0x88,0x0d,A,A,A,A]
+; NF-NEXT: {nf} orb $-124, %dil, %al # EVEX TO EVEX Compression encoding: [0x62,0xf4,0x7c,0x1c,0x80,0xcf,0x84]
+; NF-NEXT: movb %al, d64(%rip) # encoding: [0x88,0x05,A,A,A,A]
; NF-NEXT: # fixup A - offset: 2, value: d64, kind: reloc_riprel_4byte
+; NF-NEXT: xorl %eax, %eax # encoding: [0x31,0xc0]
----------------
phoebewang wrote:
There's nothing APX specific here. The new code seems a little better, one byte reduced, less data dependence.
https://github.com/llvm/llvm-project/pull/184010
More information about the llvm-commits
mailing list