[PATCH] D80500: [X86] Add pseudo instructions to use MULX with a single destination when the low result isn't used.
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun May 24 17:03:23 PDT 2020
craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel, andreadb.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.
The instruction is defined to only produce high result if both
destinations are the same. We can exploit this to avoid
unnecessarily clobbering a register.
In order to hide this from register allocation we use a pseudo
instruction and expand the result during MCInst creation.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D80500
Files:
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/lib/Target/X86/X86InstrArithmetic.td
llvm/lib/Target/X86/X86MCInstLower.cpp
llvm/test/CodeGen/X86/atomic-unordered.ll
llvm/test/CodeGen/X86/i128-mul.ll
llvm/test/CodeGen/X86/pr35636.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80500.265953.patch
Type: text/x-patch
Size: 10682 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200525/459c5b18/attachment-0001.bin>
More information about the llvm-commits
mailing list