ARM64: refactor NEON post-indexed loads & stores (MC).
authorTim Northover <tnorthover@apple.com>
Fri, 2 May 2014 14:54:21 +0000 (14:54 +0000)
committerTim Northover <tnorthover@apple.com>
Fri, 2 May 2014 14:54:21 +0000 (14:54 +0000)
commit2b951fda8f3fa4dc74009096092ec1fdd8cdf0dc
tree5eb82c1b73637b421614e2de6c6502a3e13d7e97
parent6f86e23c1a8375cd47b586efc001330720d24f79
ARM64: refactor NEON post-indexed loads & stores (MC).

Previously, LLVM had no knowledge that these instructions actually
modified their address register: fine if they never end up in CodeGen,
but when I'd rather like to write some patterns for them it becomes a
disaster.

The change is mostly straightforward, I think the most significant
design decision was to *always* put the address write-back first. This
allows loads and stores to be accessed more uniformly, for example
permitting the continued sharing of the InstAlias definitions.

I also discovered that the custom Decode logic is no longer needed, so
I removed it.

No tests, because there should be no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207839 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM64/ARM64InstrFormats.td
lib/Target/ARM64/Disassembler/ARM64Disassembler.cpp
lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp