# branch -> misaligned=error, otherwise jump
i = i.Elif((dc.act & DA.branch) != 0,
- If(misaligned_jump_target,
- self.action.eq(FA.error_trap)
- ).Else(
- self.action.eq(FA.jump)
- )
+ If(branch_taken,
+ If(misaligned_jump_target,
+ self.action.eq(FA.error_trap)
+ ).Else(
+ self.action.eq(FA.jump)
+ )
+ ).Else(
+ self.action.eq(FA.default)
+ )
)
# jal/jalr -> misaligned=error, otherwise jump