mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-07 12:28:24 +00:00
Add comment about potential partial register stall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91220 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1081,6 +1081,11 @@ X86InstrInfo::convertToThreeAddressWithLEA(unsigned MIOpc,
|
|||||||
|
|
||||||
// Build and insert into an implicit UNDEF value. This is OK because
|
// Build and insert into an implicit UNDEF value. This is OK because
|
||||||
// well be shifting and then extracting the lower 16-bits.
|
// well be shifting and then extracting the lower 16-bits.
|
||||||
|
// This has the potential to cause partial stall. e.g.
|
||||||
|
// movw (%rbp,%rcx,2), %dx
|
||||||
|
// leal -65(%rdx), %esi
|
||||||
|
// But testing has shown this *does* help performance (at least on modern
|
||||||
|
// x86 machines).
|
||||||
BuildMI(*MFI, MBBI, MI->getDebugLoc(), get(X86::IMPLICIT_DEF), leaInReg);
|
BuildMI(*MFI, MBBI, MI->getDebugLoc(), get(X86::IMPLICIT_DEF), leaInReg);
|
||||||
MachineInstr *InsMI =
|
MachineInstr *InsMI =
|
||||||
BuildMI(*MFI, MBBI, MI->getDebugLoc(), get(X86::INSERT_SUBREG),leaInReg)
|
BuildMI(*MFI, MBBI, MI->getDebugLoc(), get(X86::INSERT_SUBREG),leaInReg)
|
||||||
|
Reference in New Issue
Block a user