aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/ARMInstrNEON.td
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2009-08-04 00:36:16 +0000
committerBob Wilson <bob.wilson@apple.com>2009-08-04 00:36:16 +0000
commitd2a2e002bfb53b66ab5f5421e9bcf5ff319e09a6 (patch)
tree26031daafd2cb288e5ae792a41c21f1df9dc454b /lib/Target/ARM/ARMInstrNEON.td
parentd99b111729ce68370a436b04abfa457c921fbecc (diff)
downloadexternal_llvm-d2a2e002bfb53b66ab5f5421e9bcf5ff319e09a6.zip
external_llvm-d2a2e002bfb53b66ab5f5421e9bcf5ff319e09a6.tar.gz
external_llvm-d2a2e002bfb53b66ab5f5421e9bcf5ff319e09a6.tar.bz2
Lower Neon VLD* intrinsics to custom DAG nodes, and manually allocate the
results to fixed registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78025 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMInstrNEON.td')
-rw-r--r--lib/Target/ARM/ARMInstrNEON.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrNEON.td b/lib/Target/ARM/ARMInstrNEON.td
index 8641d62..5e8a4b5 100644
--- a/lib/Target/ARM/ARMInstrNEON.td
+++ b/lib/Target/ARM/ARMInstrNEON.td
@@ -68,6 +68,14 @@ def NEONvgetlanes : SDNode<"ARMISD::VGETLANEs", SDTARMVGETLN>;
def NEONvduplaneq : SDNode<"ARMISD::VDUPLANEQ",
SDTypeProfile<1, 2, [SDTCisVT<2, i32>]>>;
+def SDTARMVLD : SDTypeProfile<0, 1, [SDTCisPtrTy<0>]>;
+def NEONvld2d : SDNode<"ARMISD::VLD2D", SDTARMVLD,
+ [SDNPHasChain, SDNPOutFlag, SDNPMayLoad]>;
+def NEONvld3d : SDNode<"ARMISD::VLD3D", SDTARMVLD,
+ [SDNPHasChain, SDNPOutFlag, SDNPMayLoad]>;
+def NEONvld4d : SDNode<"ARMISD::VLD4D", SDTARMVLD,
+ [SDNPHasChain, SDNPOutFlag, SDNPMayLoad]>;
+
//===----------------------------------------------------------------------===//
// NEON operand definitions
//===----------------------------------------------------------------------===//