diff options
| author | Robert Norton | 2017-08-08 14:11:57 +0100 |
|---|---|---|
| committer | Robert Norton | 2017-08-08 14:12:25 +0100 |
| commit | ad0d53e799c0a3dcb2548a42554d5dcae7de5a01 (patch) | |
| tree | e442098ea9def6f9a097767dd05708837d870762 /risc-v/hgen/parser.hgen | |
| parent | be571f711102cd6659257e5ee1de3b708ebee6ab (diff) | |
work on integrating risc-v model with rmem (incomplete).
Diffstat (limited to 'risc-v/hgen/parser.hgen')
| -rw-r--r-- | risc-v/hgen/parser.hgen | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/risc-v/hgen/parser.hgen b/risc-v/hgen/parser.hgen new file mode 100644 index 00000000..ba4dcac7 --- /dev/null +++ b/risc-v/hgen/parser.hgen @@ -0,0 +1,24 @@ +| UTYPE reg COMMA NUM + { `RISCVUTYPE($4, $2, $1.o) } +| JAL reg COMMA NUM + { `RISCVJAL($4, $2) } +| JALR reg COMMA reg COMMA NUM + { `RISCVJALR($6, $4, $2) } +| BTYPE reg COMMA reg COMMA NUM + { `RISCVBType($6, $4, $2, $1.op) } +| ITYPE reg COMMA reg COMMA NUM + { `RISCVIType(o$6, $4, $2, $1.op) } +| SHIFTIOP reg COMMA reg COMMA NUM + { `RISCVShiftIop($6, $4, $2, $1.op) } +| RTYPE reg COMMA reg COMMA reg + { `RISCVRType ($6, $3, $2, $1.op) } +| LOAD reg COMMA NUM LPAR reg RPAR + { `RISCVLoad($4, $6, $2, $1.unsigned, $1.width) } +| STORE reg COMMA NUM LPAR reg RPAR + { `RISCVStore($4, $6, $2, $1.width) } (* reg order? *) +| ADDIW reg COMMA reg COMMA NUM + { `RISCVADDIW ($6, $4, $2) } +| SHIFTW reg COMMA reg COMMA NUM + { `RISCVSHIFTW ($6, $4, $2, $1.op) } +| RTYPEW reg COMMA reg COMMA reg + { `RISCVRTYPEW ($6, $4, $2, $1.op) } |
