[AArch64][SelectionDAG] Lower multiplication by a constant to shl+add+shl+add
Change the costmodel to lower a = b * C where C = (1 + 2^m) * 2^n + 1 to
add w8, w0, w0, lsl #m
add w0, w0, w8, lsl #n
Note: The latency of add can vary depending on the shirt amount
They are cheap as a move when the shift amounts is 4 or less.
Fix part of https://github.com/llvm/llvm-project/issues/89430
parent
a35d7d7d
Please register or sign in to comment