[PATCH] D32277: Replace slow LEA instructions in X86

Lama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 20 01:45:59 PDT 2017


lsaba created this revision.

  According to Intel's Optimization Reference Manual for SNB+:
  " For LEA instructions with three source operands and some specific situations, instruction latency has increased to 3 cycles, and must
    dispatch via port 1:
  - LEA that has all three source operands: base, index, and offset
  - LEA that uses base and index registers where the base is EBP, RBP,or R13
  - LEA that uses RIP relative addressing mode
  - LEA that uses 16-bit addressing mode "

This patch currently handles the first 2 cases only.


https://reviews.llvm.org/D32277

Files:
  lib/Target/X86/X86.td
  lib/Target/X86/X86FixupLEAs.cpp
  lib/Target/X86/X86TargetMachine.cpp
  test/CodeGen/X86/leaFixup32.mir
  test/CodeGen/X86/leaFixup64.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32277.95903.patch
Type: text/x-patch
Size: 49097 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170420/702a2646/attachment.bin>


More information about the llvm-commits mailing list