diff options
| author | Alasdair Armstrong | 2017-12-04 15:29:38 +0000 |
|---|---|---|
| committer | Alasdair Armstrong | 2017-12-04 15:29:38 +0000 |
| commit | a8940494d24f1315852e45632e968d1cfdbb132a (patch) | |
| tree | 696901b1b5ac9562dc88cf948bd0acc79683dc06 /mips/gen/parser.hgen | |
| parent | ff514f618bc64980e08d201ec971ccf38421e586 (diff) | |
| parent | 489eafc6c3c8191e2a8c1eb1386749f5e440eceb (diff) | |
Merge remote-tracking branch 'origin/master' into experiments
Diffstat (limited to 'mips/gen/parser.hgen')
| -rw-r--r-- | mips/gen/parser.hgen | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/mips/gen/parser.hgen b/mips/gen/parser.hgen new file mode 100644 index 00000000..8f573aa5 --- /dev/null +++ b/mips/gen/parser.hgen @@ -0,0 +1,34 @@ +| RTYPE reg COMMA reg COMMA reg + { `MIPSRType ($1.op, $2, $4, $6) } +| ITYPE reg COMMA reg COMMA NUM + { `MIPSIType ($1.op, $2, $4, $6) } +| SHIFTI reg COMMA reg COMMA NUM + { `MIPSShiftI ($1.op, $2, $4, $6) } +| SHIFTV reg COMMA reg COMMA reg + { `MIPSShiftV ($1.op, $2, $4, $6) } +| MULDIV reg COMMA reg + { `MIPSMulDiv ($1.op, $2, $4) } +| MFHILO reg + { `MIPSMFHiLo ($1.op, $2) } +| LUI reg COMMA NUM + { `MIPSLUI ($2, $4) } +| LOAD reg COMMA NUM LPAR reg RPAR + { `MIPSLoad ($1.width, $1.signed, $1.linked, $6, $2, $4) } +| STORE reg COMMA NUM LPAR reg RPAR + { `MIPSStore ($1.width, $1.conditional, $6, $2, $4) } +| LSLR reg COMMA NUM LPAR reg RPAR + { `MIPSLSLR ($1.store, $1.double, $1.left, $6, $2, $4) } +| SYNC + { `MIPSSYNC } +| BEQ reg COMMA reg COMMA NUM + { `MIPSBEQ ( $2, $4, $6, $1.ne, $1.likely) } +| BCMPZ reg COMMA NUM + { `MIPSBCMPZ ( $2, $4, $1.cmp, $1.link, $1.likely) } +| J NUM + { `MIPSJ ($2) } +| JAL NUM + { `MIPSJAL ($2) } +| JR reg + { `MIPSJR ($2) } +| JALR reg COMMA reg + { `MIPSJALR ($2, $4) } |
