Avoid ADD/SUB instruction duplication by reusing the X86ISD::ADD/SUB results.
Includes ADD commutation - I tried to include NEG+SUB SUB commutation as well but this causes regressions as we don't have good combine coverage to simplify X86ISD::SUB.
Paths
| Differential D58597
[X86] Merge ISD::ADD/SUB nodes into X86ISD::ADD/SUB equivalents (PR40483) ClosedPublic Authored by RKSimon on Feb 24 2019, 2:12 PM.
Details Summary Avoid ADD/SUB instruction duplication by reusing the X86ISD::ADD/SUB results. Includes ADD commutation - I tried to include NEG+SUB SUB commutation as well but this causes regressions as we don't have good combine coverage to simplify X86ISD::SUB.
Diff Detail
Event TimelineComment Actions LGTM with one minor
This revision is now accepted and ready to land.Feb 24 2019, 11:59 PM Comment Actions Cheers Craig
Closed by commit rL354771: [X86] Merge ISD::ADD/SUB nodes into X86ISD::ADD/SUB equivalents (PR40483) (authored by RKSimon). · Explain WhyFeb 25 2019, 3:22 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 188118 llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
llvm/trunk/test/CodeGen/X86/combine-adc.ll
llvm/trunk/test/CodeGen/X86/combine-sbb.ll
|