Skip to content

Add slow LEA schedule information for Intel CPUs #60043

Open
@phoebewang

Description

@phoebewang

According to Intel SOM, different microarchitectures have different limitations in the use of LEA instructions, aka slow LEA in some cases. But none of current Intel schedule model describes it. It would be helpful if we model them correctly.
There are 3 major different slow cases:

  • LEA with three source operands: base, index, and offset. This case exists in Core microarchitectures since Sandybridge till Cascade Lake;
  • LEA with valid index. This case exists in Atom microarchitectures Silvermont, Goldmont and Goldmont Plus;
  • LEAs without a scaled index and with only two sources among base, index, and displacement. This case exists in Gracemont;

There are also other limitations with some microarchitecture, e.g., base/index registers, partial register smaller than 4 bytes, index is on the critical path etc. I think it's hard to model such granularity in schedule model.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions