Skip to content

[X86] Better scheduling/selection of the LEA instruction #31673

Open
@RKSimon

Description

@RKSimon
Bugzilla Link 32326
Version trunk
OS Windows NT
Blocks #31672
CC @adibiagio,@chriselrod,@gchatelet,@hfinkel,@rotateright,@ZviRackover

Extended Description

Some basic forms of the LEA instruction (2 source operands, no scale etc.) can typically be performed on the cpu's generic ALUs whilst the complex forms (3 source operands, scale + offset etc.) can only be performed on a cpus's AGUs.

We need to better tag the different LEA instructions so that we can discriminate in the scheduler model and compare them against other memory address instructions.

We should then be able to improve LEA pattern selection in the machine combiner (balance ALU/AGU usage, use multi stage LEAs for simple integer multiplies etc.).

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