summaryrefslogtreecommitdiff
path: root/risc-v/hgen/fold.hgen
blob: 376ab19fcdfd0a77b03873bcf8d59dcc7ea8704b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
| `RISCVThreadStart               -> (y_reg, y_sreg)
| `RISCVUTYPE (_, r0, _)          -> fold_reg r0 (y_reg, y_sreg)
| `RISCVJAL (_, r0)               -> fold_reg r0 (y_reg, y_sreg)
| `RISCVJALR (_, r0, r1)          -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVBType (_, r0, r1, _)      -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVIType (_, r0, r1, _)      -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVShiftIop (_, r0, r1, _)   -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVRType (r0, r1, r2, _)     -> fold_reg r0 (fold_reg r1 (fold_reg r2 (y_reg, y_sreg)))
| `RISCVLoad (_, r0, r1, _, _, _) -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVStore (_, r0, r1, _, _)   -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVADDIW (_, r0, r1)         -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVSHIFTW (_, r0, r1, _)     -> fold_reg r0 (fold_reg r1 (y_reg, y_sreg))
| `RISCVRTYPEW (r0, r1, r2, _)    -> fold_reg r0 (fold_reg r1 (fold_reg r2 (y_reg, y_sreg)))