diff options
| author | Zoran Jovanovic <zoran.jovanovic@imgtec.com> | 2013-12-19 16:25:00 +0000 |
|---|---|---|
| committer | Zoran Jovanovic <zoran.jovanovic@imgtec.com> | 2013-12-19 16:25:00 +0000 |
| commit | 8e918c3c4d255cc4396e26f1498d003fda5879de (patch) | |
| tree | 2075f8623a9bd093d01f1c70eec0c478533cad1d /llvm/lib/Target/Mips/MipsInstrFormats.td | |
| parent | 9ef61a7ca78e61e82ca13cdf5c578bb518bd0e9b (diff) | |
| download | bcm5719-llvm-8e918c3c4d255cc4396e26f1498d003fda5879de.tar.gz bcm5719-llvm-8e918c3c4d255cc4396e26f1498d003fda5879de.zip | |
Support for microMIPS control instructions.
llvm-svn: 197696
Diffstat (limited to 'llvm/lib/Target/Mips/MipsInstrFormats.td')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsInstrFormats.td | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/llvm/lib/Target/Mips/MipsInstrFormats.td b/llvm/lib/Target/Mips/MipsInstrFormats.td index 737a018c67a..21ee605ac02 100644 --- a/llvm/lib/Target/Mips/MipsInstrFormats.td +++ b/llvm/lib/Target/Mips/MipsInstrFormats.td @@ -401,7 +401,7 @@ class BGEZAL_FM<bits<5> funct> : StdArch { let Inst{15-0} = offset; } -class SYNC_FM { +class SYNC_FM : StdArch { bits<5> stype; bits<32> Inst; @@ -479,11 +479,21 @@ class TEQI_FM<bits<5> funct> : StdArch { let Inst{20-16} = funct; let Inst{15-0} = imm16; } + +class WAIT_FM : StdArch { + bits<32> Inst; + + let Inst{31-26} = 0x10; + let Inst{25} = 1; + let Inst{24-6} = 0; + let Inst{5-0} = 0x20; +} + //===----------------------------------------------------------------------===// // System calls format <op|code_|funct> //===----------------------------------------------------------------------===// -class SYS_FM<bits<6> funct> +class SYS_FM<bits<6> funct> : StdArch { bits<20> code_; bits<32> Inst; @@ -496,7 +506,7 @@ class SYS_FM<bits<6> funct> // Break instruction format <op|code_1|funct> //===----------------------------------------------------------------------===// -class BRK_FM<bits<6> funct> +class BRK_FM<bits<6> funct> : StdArch { bits<10> code_1; bits<10> code_2; @@ -511,7 +521,7 @@ class BRK_FM<bits<6> funct> // Exception return format <Cop0|1|0|funct> //===----------------------------------------------------------------------===// -class ER_FM<bits<6> funct> +class ER_FM<bits<6> funct> : StdArch { bits<32> Inst; let Inst{31-26} = 0x10; @@ -525,7 +535,7 @@ class ER_FM<bits<6> funct> // Enable/disable interrupt instruction format <Cop0|MFMC0|rt|12|0|sc|0|0> //===----------------------------------------------------------------------===// -class EI_FM<bits<1> sc> +class EI_FM<bits<1> sc> : StdArch { bits<32> Inst; bits<5> rt; |

