diff options
| author | Thomas Bauereiss | 2017-12-06 17:18:36 +0000 |
|---|---|---|
| committer | Thomas Bauereiss | 2017-12-06 17:18:36 +0000 |
| commit | 2bc281428a3a1d608d56f69e71b50056a25e3da0 (patch) | |
| tree | dfd8e8a13702696fd9daef64315952b9652f95e8 /mips/gen/parser.hgen | |
| parent | c3c3c40a1d4f81448d8356317e88be2b04363df7 (diff) | |
| parent | 44e9396fa90ab68ee4c8d9674c6bbad6fc851c6d (diff) | |
Merge remote branch 'experiments' 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) } |
