diff options
| author | Kai Nacke <kai.nacke@redstar.de> | 2014-04-02 18:40:43 +0000 |
|---|---|---|
| committer | Kai Nacke <kai.nacke@redstar.de> | 2014-04-02 18:40:43 +0000 |
| commit | 13673ac704e5b95e24f2aab350a312597a38d406 (patch) | |
| tree | 66a1f8b055584d474f1584da5ed1a21f526f4c84 /llvm/lib/Target/Mips/MipsInstrFormats.td | |
| parent | c392617cff4f5293c6a1c62a1d2dd3aa048c68ac (diff) | |
| download | bcm5719-llvm-13673ac704e5b95e24f2aab350a312597a38d406.tar.gz bcm5719-llvm-13673ac704e5b95e24f2aab350a312597a38d406.zip | |
[mips] Add more Octeon cnMips instructions
Adds the instructions ext/ext32/cins/cins32.
It also changes pop/dpop to accept the two operand version and
adds a simple pattern to generate baddu.
Tests for the two operand versions (including baddu/dmul/dpop/pop)
and the code generation pattern for baddu are included.
Reviewed by: Daniel.Sanders@imgtec.com
llvm-svn: 205449
Diffstat (limited to 'llvm/lib/Target/Mips/MipsInstrFormats.td')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsInstrFormats.td | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsInstrFormats.td b/llvm/lib/Target/Mips/MipsInstrFormats.td index 5b690ac3b7e..38fac886048 100644 --- a/llvm/lib/Target/Mips/MipsInstrFormats.td +++ b/llvm/lib/Target/Mips/MipsInstrFormats.td @@ -489,6 +489,22 @@ class WAIT_FM : StdArch { let Inst{5-0} = 0x20; } +class EXTS_FM<bits<6> funct> : StdArch { + bits<5> rt; + bits<5> rs; + bits<5> pos; + bits<5> lenm1; + + bits<32> Inst; + + let Inst{31-26} = 0x1c; + let Inst{25-21} = rs; + let Inst{20-16} = rt; + let Inst{15-11} = lenm1; + let Inst{10-6} = pos; + let Inst{5-0} = funct; +} + class MTMR_FM<bits<6> funct> : StdArch { bits<5> rs; |

