op = self.i.ctx.op
xer_so_i, xer_ov_i = self.i.xer_so.data, self.i.xer_ov.data
- # XXX see https://bugs.libre-soc.org/show_bug.cgi?id=319#c5
- comb += self.so.eq(xer_so_i[0] | xer_ov_i[0]) # SO
-
# copy overflow and sticky-overflow. indicate to CompALU if they
# are actually required (oe enabled/set) otherwise the CompALU
# can (will) ignore them.
oe = Signal(reset_less=True)
comb += oe.eq(op.oe.oe & op.oe.oe_ok)
with m.If(oe):
+ # XXX see https://bugs.libre-soc.org/show_bug.cgi?id=319#c5
+ comb += self.so.eq(xer_so_i[0] | xer_ov_i[0]) # SO
comb += self.o.xer_so.data.eq(self.so)
comb += self.o.xer_so.ok.eq(1)
comb += self.o.xer_ov.data.eq(xer_ov_i)