[all-commits] [llvm/llvm-project] 07e8a7: [X86] Add pseudo instructions to use MULX with a s...
topperc via All-commits
all-commits at lists.llvm.org
Sat May 30 16:01:54 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 07e8a780d81bb58a0c7bd4da6cc0b9beaec3c788
https://github.com/llvm/llvm-project/commit/07e8a780d81bb58a0c7bd4da6cc0b9beaec3c788
Author: Craig Topper <craig.topper at gmail.com>
Date: 2020-05-30 (Sat, 30 May 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/i128-mul.ll
M llvm/test/CodeGen/X86/pr35636.ll
Log Message:
-----------
[X86] Add pseudo instructions to use MULX with a single destination when the low result isn't used.
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.
Differential Revision: https://reviews.llvm.org/D80500
More information about the All-commits
mailing list