[FastISel][AArch64] Fix simplify address when the address comes from a shift.
authorJuergen Ributzka <juergen@apple.com>
Wed, 27 Aug 2014 21:38:33 +0000 (21:38 +0000)
committerJuergen Ributzka <juergen@apple.com>
Wed, 27 Aug 2014 21:38:33 +0000 (21:38 +0000)
commitccf53013cdc56b2c4ca9dd24688f71d29b007630
tree95d227027a6f41138124c72278fa26f5d29028cb
parentaa9db69bb5d23d8110bbab6736a98d2c1db3effc
[FastISel][AArch64] Fix simplify address when the address comes from a shift.

When the address comes directly from a shift instruction then the address
computation cannot be folded into the memory instruction, because the zero
register is not available as a base register. Simplify addess needs to emit the
shift instruction and use the result as base register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216621 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64FastISel.cpp
test/CodeGen/AArch64/fast-isel-addressing-modes.ll