Evan Cheng 0b0cd9113a Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g.
x * 40
=>
shlq    $3, %rdi
leaq    (%rdi,%rdi,4), %rax

This has the added benefit of allowing more multiply to be folded into addressing mode. e.g.
a * 24 + b
=>
leaq    (%rdi,%rdi,2), %rax
leaq    (%rsi,%rax,8), %rax


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67917 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28 05:57:29 +00:00
..
2009-02-12 17:04:57 +00:00
2009-03-26 23:03:32 +00:00
2009-02-09 23:32:07 +00:00
2009-03-12 17:07:39 +00:00
2009-03-23 18:27:36 +00:00
2009-03-04 02:47:25 +00:00
2009-01-21 21:28:03 +00:00
2009-01-20 19:29:54 +00:00
2009-01-15 20:18:42 +00:00
2009-02-13 22:36:38 +00:00
2009-01-07 01:48:08 +00:00
2009-03-01 02:03:43 +00:00
2009-03-01 02:03:43 +00:00