[PATCH] D106684: [x86] improve CMOV codegen by pushing add into operands, part 2

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 23 15:59:55 PDT 2021


spatel updated this revision to Diff 361369.
spatel added a comment.

Patch updated:

1. Added tests for various larger-than-i32-immediate constants.
2. Limited the fold if there's a large constant and the other constant is non-zero. It's possible that we can loosen that check, but I noticed that immediate 0x80000000 gets folded into  `subq $-2147483648, %rcx` with an extra `movq reg, reg`, so that could increase the total number of instructions.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106684/new/

https://reviews.llvm.org/D106684

Files:
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/add-cmov.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106684.361369.patch
Type: text/x-patch
Size: 4621 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210723/dd8d24f2/attachment.bin>


More information about the llvm-commits mailing list