diff options
author | Bob Wilson <bob.wilson@apple.com> | 2009-08-04 00:36:16 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2009-08-04 00:36:16 +0000 |
commit | d2a2e002bfb53b66ab5f5421e9bcf5ff319e09a6 (patch) | |
tree | 26031daafd2cb288e5ae792a41c21f1df9dc454b /lib/Target/ARM/ARMInstrNEON.td | |
parent | d99b111729ce68370a436b04abfa457c921fbecc (diff) | |
download | external_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.td | 8 |
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 //===----------------------------------------------------------------------===// |