[PATCH] D63318: [DAGCombine] Teach DAGCombine to fold the aext + select pattern
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 14 08:17:42 PDT 2019
craig.topper added inline comments.
================
Comment at: llvm/test/CodeGen/X86/cmov-promotion.ll:130
+; CMOV-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
+; CMOV-NEXT: cmovneq %rcx, %rax
; CMOV-NEXT: retq
----------------
steven.zhang wrote:
> craig.topper wrote:
> > This is slightly worse. Maybe don't do this when zext is free?
> I check the scheduling information for cmovneq and cmovnel, both latency are 1. I didn't catch the "slightly worse" you mean ... Could you explain it more, as I am new to X86 instr. Thank you!
Cmovneq’s encoding is 1 byte longer than cmovnel. The 64-bit size requires a REX prefix.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63318/new/
https://reviews.llvm.org/D63318
More information about the llvm-commits
mailing list