summaryrefslogtreecommitdiff
path: root/risc-v/riscv_regfp.sail
diff options
context:
space:
mode:
Diffstat (limited to 'risc-v/riscv_regfp.sail')
-rw-r--r--risc-v/riscv_regfp.sail5
1 files changed, 4 insertions, 1 deletions
diff --git a/risc-v/riscv_regfp.sail b/risc-v/riscv_regfp.sail
index 1dff5064..0c7a67d8 100644
--- a/risc-v/riscv_regfp.sail
+++ b/risc-v/riscv_regfp.sail
@@ -29,7 +29,7 @@ function (regfps,regfps,regfps,niafps,diafp,instruction_kind) initial_analysis (
if (rs == 0) then () else iR := RFull(GPRstr[rs]) :: iR;
if (rd == 0) then () else oR := RFull(GPRstr[rd]) :: oR;
let (bit[64]) offset = EXTS(imm) in
- Nias := [|| NIAFP_register (RFull(GPRstr[rs])) ||];
+ Nias := [|| NIAFP_register (RFull(GPRstr[rs])) ||]; (* XXX this should br rs + offset... *)
}
case (BTYPE ( imm, rs2, rs1, op)) -> {
if (rs2 == 0) then () else iR := RFull(GPRstr[rs2]) :: iR;
@@ -76,6 +76,9 @@ function (regfps,regfps,regfps,niafps,diafp,instruction_kind) initial_analysis (
if (rs1 == 0) then () else iR := RFull(GPRstr[rs1]) :: iR;
if (rd == 0) then () else oR := RFull(GPRstr[rd]) :: oR;
}
+ case (FENCE(pred, succ)) -> {
+ ik := IK_barrier (Barrier_MIPS_SYNC);
+ }
};
(iR,oR,aR,Nias,Dia,ik)
}