diff options
| author | Shaked Flur | 2017-09-03 15:05:23 +0100 |
|---|---|---|
| committer | Shaked Flur | 2017-09-03 15:05:23 +0100 |
| commit | 75022d46352525305b4c06b4988bf2df15f9f29e (patch) | |
| tree | ee2f171e2c36dadc3b22d4cadbbf398b7a668531 /risc-v/hgen/parser.hgen | |
| parent | 69dbe323ef6a8195465e2662fd447e1853e40866 (diff) | |
added RISC-V strong-acquire/release
Diffstat (limited to 'risc-v/hgen/parser.hgen')
| -rw-r--r-- | risc-v/hgen/parser.hgen | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/risc-v/hgen/parser.hgen b/risc-v/hgen/parser.hgen index dc61e566..82bb1d5b 100644 --- a/risc-v/hgen/parser.hgen +++ b/risc-v/hgen/parser.hgen @@ -13,9 +13,9 @@ | RTYPE reg COMMA reg COMMA reg { `RISCVRType ($6, $4, $2, $1.op) } | LOAD reg COMMA NUM LPAR reg RPAR - { `RISCVLoad($4, $6, $2, $1.unsigned, $1.width, $1.aq) } + { `RISCVLoad($4, $6, $2, $1.unsigned, $1.width, $1.aq, $1.rl) } | STORE reg COMMA NUM LPAR reg RPAR - { `RISCVStore($4, $2, $6, $1.width, $1.rl) } + { `RISCVStore($4, $2, $6, $1.width, $1.aq, $1.rl) } | ADDIW reg COMMA reg COMMA NUM { `RISCVADDIW ($6, $4, $2) } | SHIFTW reg COMMA reg COMMA NUM @@ -48,3 +48,6 @@ `RISCVStoreCon($1.aq, $1.rl, $4, $8, $1.width, $2) } | AMO reg COMMA reg COMMA LPAR reg RPAR { `RISCVAMO($1.op, $1.aq, $1.rl, $4, $7, $1.width, $2) } +| AMO reg COMMA reg COMMA NUM LPAR reg RPAR + { if $6 <> 0 then failwith "'amo<op>' offset must be 0" else + `RISCVAMO($1.op, $1.aq, $1.rl, $4, $8, $1.width, $2) } |
