diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-10-06 20:36:55 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-10-06 20:36:55 +0000 |
commit | f63de95cc76ce3c5235263555941f7cf515c3f2f (patch) | |
tree | 2aecb7991029ec15506f5fb025f2d3d762fa7854 /lib | |
parent | ee8673d9f4117f7f6e62b218e49c8d221d8ca746 (diff) | |
download | external_llvm-f63de95cc76ce3c5235263555941f7cf515c3f2f.zip external_llvm-f63de95cc76ce3c5235263555941f7cf515c3f2f.tar.gz external_llvm-f63de95cc76ce3c5235263555941f7cf515c3f2f.tar.bz2 |
Add a 'pattern' arg to the ARM PseudoNeonI class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115831 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMInstrFormats.td | 4 | ||||
-rw-r--r-- | lib/Target/ARM/ARMInstrNEON.td | 12 |
2 files changed, 9 insertions, 7 deletions
diff --git a/lib/Target/ARM/ARMInstrFormats.td b/lib/Target/ARM/ARMInstrFormats.td index 1d87ae4..263f151 100644 --- a/lib/Target/ARM/ARMInstrFormats.td +++ b/lib/Target/ARM/ARMInstrFormats.td @@ -1550,11 +1550,13 @@ class PseudoNLdSt<dag oops, dag iops, InstrItinClass itin, string cstr> list<Predicate> Predicates = [HasNEON]; } -class PseudoNeonI<dag oops, dag iops, InstrItinClass itin, string cstr> +class PseudoNeonI<dag oops, dag iops, InstrItinClass itin, string cstr, + list<dag> pattern> : InstARM<AddrModeNone, Size4Bytes, IndexModeNone, Pseudo, NeonDomain, cstr, itin> { let OutOperandList = oops; let InOperandList = !con(iops, (ins pred:$p)); + let Pattern = pattern; list<Predicate> Predicates = [HasNEON]; } diff --git a/lib/Target/ARM/ARMInstrNEON.td b/lib/Target/ARM/ARMInstrNEON.td index bf24d0a..eaf2f79 100644 --- a/lib/Target/ARM/ARMInstrNEON.td +++ b/lib/Target/ARM/ARMInstrNEON.td @@ -3816,11 +3816,11 @@ def VTBL4 } // hasExtraSrcRegAllocReq = 1 def VTBL2Pseudo - : PseudoNeonI<(outs DPR:$dst), (ins QPR:$tbl, DPR:$src), IIC_VTB2, "">; + : PseudoNeonI<(outs DPR:$dst), (ins QPR:$tbl, DPR:$src), IIC_VTB2, "", []>; def VTBL3Pseudo - : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB3, "">; + : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB3, "", []>; def VTBL4Pseudo - : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB4, "">; + : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB4, "", []>; // VTBX : Vector Table Extension def VTBX1 @@ -3849,13 +3849,13 @@ def VTBX4 def VTBX2Pseudo : PseudoNeonI<(outs DPR:$dst), (ins DPR:$orig, QPR:$tbl, DPR:$src), - IIC_VTBX2, "$orig = $dst">; + IIC_VTBX2, "$orig = $dst", []>; def VTBX3Pseudo : PseudoNeonI<(outs DPR:$dst), (ins DPR:$orig, QQPR:$tbl, DPR:$src), - IIC_VTBX3, "$orig = $dst">; + IIC_VTBX3, "$orig = $dst", []>; def VTBX4Pseudo : PseudoNeonI<(outs DPR:$dst), (ins DPR:$orig, QQPR:$tbl, DPR:$src), - IIC_VTBX4, "$orig = $dst">; + IIC_VTBX4, "$orig = $dst", []>; //===----------------------------------------------------------------------===// // NEON instructions for single-precision FP math |