diff options
author | Richard Osborne <richard@xmos.com> | 2013-01-20 18:51:15 +0000 |
---|---|---|
committer | Richard Osborne <richard@xmos.com> | 2013-01-20 18:51:15 +0000 |
commit | b853c415c663c752c669cb191cea95542c1d21f6 (patch) | |
tree | af3984f63d8a5bb64a619c3affb3cd34b3414d43 /lib/Target/XCore/XCoreInstrFormats.td | |
parent | c78ec6b6bc05572aed6af1eee4349d76a68ded18 (diff) | |
download | external_llvm-b853c415c663c752c669cb191cea95542c1d21f6.zip external_llvm-b853c415c663c752c669cb191cea95542c1d21f6.tar.gz external_llvm-b853c415c663c752c669cb191cea95542c1d21f6.tar.bz2 |
Add instruction encodings / disassembly support for l2rus instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172987 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/XCore/XCoreInstrFormats.td')
-rw-r--r-- | lib/Target/XCore/XCoreInstrFormats.td | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Target/XCore/XCoreInstrFormats.td b/lib/Target/XCore/XCoreInstrFormats.td index 817ba49..01ed5cb 100644 --- a/lib/Target/XCore/XCoreInstrFormats.td +++ b/lib/Target/XCore/XCoreInstrFormats.td @@ -68,8 +68,21 @@ class _F2RUSBitp<bits<5> opc, dag outs, dag ins, string asmstr, let DecoderMethod = "Decode2RUSBitpInstruction"; } -class _FL2RUS<dag outs, dag ins, string asmstr, list<dag> pattern> +class _FL2RUS<bits<9> opc, dag outs, dag ins, string asmstr, list<dag> pattern> : InstXCore<4, outs, ins, asmstr, pattern> { + let Inst{31-27} = opc{8-4}; + let Inst{26-20} = 0b1111110; + let Inst{19-16} = opc{3-0}; + + let Inst{15-11} = 0b11111; + let DecoderMethod = "DecodeL2RUSInstruction"; +} + +// L2RUS with bitp operand +class _FL2RUSBitp<bits<9> opc, dag outs, dag ins, string asmstr, + list<dag> pattern> + : _FL2RUS<opc, outs, ins, asmstr, pattern> { + let DecoderMethod = "DecodeL2RUSBitpInstruction"; } class _FRU6<dag outs, dag ins, string asmstr, list<dag> pattern> |