Start converting NEON load/stores to use pseudo instructions, beginning here
authorBob Wilson <bob.wilson@apple.com>
Wed, 25 Aug 2010 23:27:42 +0000 (23:27 +0000)
committerBob Wilson <bob.wilson@apple.com>
Wed, 25 Aug 2010 23:27:42 +0000 (23:27 +0000)
commit709d59255a3100c7d440c93069efa1f726677a27
tree9fe308a88c943b14b2d0a07e00f82ac3a3d730b0
parent5b5f7260a0f0da9a2057245fd42a6b196ccec33d
Start converting NEON load/stores to use pseudo instructions, beginning here
with the VST4 instructions.  Until after register allocation, we want to
represent sets of adjacent registers by a single super-register.  These
VST4 pseudo instructions have a single QQ or QQQQ source register operand.
They get expanded to the real VST4 instructions with 4 separate D register
operands.  Once this conversion is complete, we'll be able to remove the
NEONPreAllocPass and avoid some fragile and hacky code elsewhere.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112108 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMExpandPseudoInsts.cpp
lib/Target/ARM/ARMISelDAGToDAG.cpp
lib/Target/ARM/ARMInstrFormats.td
lib/Target/ARM/ARMInstrNEON.td
lib/Target/ARM/NEONPreAllocPass.cpp