Open
Description
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.).