summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/NEONPreAllocPass.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-03-23 06:20:33 +0000
committerBob Wilson <bob.wilson@apple.com>2010-03-23 06:20:33 +0000
commitcc0a2a75a0d1160f6b183f235e7faa736848dc91 (patch)
tree2b292ad00637452a0e98976d1afd0bcb1b1ba640 /llvm/lib/Target/ARM/NEONPreAllocPass.cpp
parent3f7842232e853834a7338933663cc77ee0089b7f (diff)
downloadbcm5719-llvm-cc0a2a75a0d1160f6b183f235e7faa736848dc91.tar.gz
bcm5719-llvm-cc0a2a75a0d1160f6b183f235e7faa736848dc91.zip
Change VST1 instructions for loading Q register values to operate on pairs
of D registers. Add a separate VST1q instruction with a Q register source operand for use by storeRegToStackSlot. llvm-svn: 99265
Diffstat (limited to 'llvm/lib/Target/ARM/NEONPreAllocPass.cpp')
-rw-r--r--llvm/lib/Target/ARM/NEONPreAllocPass.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/NEONPreAllocPass.cpp b/llvm/lib/Target/ARM/NEONPreAllocPass.cpp
index ce620fa9dce..7334259bf57 100644
--- a/llvm/lib/Target/ARM/NEONPreAllocPass.cpp
+++ b/llvm/lib/Target/ARM/NEONPreAllocPass.cpp
@@ -50,10 +50,6 @@ static bool isNEONMultiRegOp(int Opcode, unsigned &FirstOpnd, unsigned &NumRegs,
case ARM::VLD1q16:
case ARM::VLD1q32:
case ARM::VLD1q64:
- FirstOpnd = 0;
- NumRegs = 2;
- return true;
-
case ARM::VLD2d8:
case ARM::VLD2d16:
case ARM::VLD2d32:
@@ -177,10 +173,13 @@ static bool isNEONMultiRegOp(int Opcode, unsigned &FirstOpnd, unsigned &NumRegs,
Stride = 2;
return true;
+ case ARM::VST1q8:
+ case ARM::VST1q16:
+ case ARM::VST1q32:
+ case ARM::VST1q64:
case ARM::VST2d8:
case ARM::VST2d16:
case ARM::VST2d32:
- case ARM::VST2d64:
case ARM::VST2LNd8:
case ARM::VST2LNd16:
case ARM::VST2LNd32:
OpenPOWER on IntegriCloud