diff options
| author | Johnny Chen <johnny.chen@apple.com> | 2009-11-19 19:20:17 +0000 |
|---|---|---|
| committer | Johnny Chen <johnny.chen@apple.com> | 2009-11-19 19:20:17 +0000 |
| commit | b3b8209d775ca5400bf863899a5f53e57995bd58 (patch) | |
| tree | 88400834967cce7ecbe90a2bbb08dbf3b80e1353 /llvm/lib/Target/ARM/ARMInstrFormats.td | |
| parent | 50909c0595c9f029798f4b3818fa8b2a7e412ef0 (diff) | |
| download | bcm5719-llvm-b3b8209d775ca5400bf863899a5f53e57995bd58.tar.gz bcm5719-llvm-b3b8209d775ca5400bf863899a5f53e57995bd58.zip | |
Added NLdStLN which is similar to NLdSt with the exception that op7_4 is not
fully specified at this level. Subclasses of NLdStLN can specify selective
bit(s) for Inst{7-4}, as is done for VLD[234]LN* and VST[234]LN* inside
ARMInstrNEON.td.
llvm-svn: 89377
Diffstat (limited to 'llvm/lib/Target/ARM/ARMInstrFormats.td')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrFormats.td | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrFormats.td b/llvm/lib/Target/ARM/ARMInstrFormats.td index 83b5cb4cac9..292fa8fcda1 100644 --- a/llvm/lib/Target/ARM/ARMInstrFormats.td +++ b/llvm/lib/Target/ARM/ARMInstrFormats.td @@ -1245,6 +1245,17 @@ class NLdSt<bit op23, bits<2> op21_20, bits<4> op11_8, bits<4> op7_4, let Inst{7-4} = op7_4; } +// With selective bit(s) from op7_4 specified by subclasses. +class NLdStLN<bit op23, bits<2> op21_20, bits<4> op11_8, + dag oops, dag iops, InstrItinClass itin, + string asm, string cstr, list<dag> pattern> + : NeonI<oops, iops, AddrMode6, IndexModeNone, itin, asm, cstr, pattern> { + let Inst{31-24} = 0b11110100; + let Inst{23} = op23; + let Inst{21-20} = op21_20; + let Inst{11-8} = op11_8; +} + class NDataI<dag oops, dag iops, InstrItinClass itin, string asm, string cstr, list<dag> pattern> : NeonI<oops, iops, AddrModeNone, IndexModeNone, itin, asm, cstr, pattern> { |

