From: Luke Kenneth Casson Leighton Date: Fri, 23 Sep 2022 16:49:45 +0000 (+0100) Subject: add (sigh) to the hack-job get_pdecode_idx_out2() in ISACaller X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6659ed3f20860c0eb9a28f49000b83dba65ff947;p=openpower-isa.git add (sigh) to the hack-job get_pdecode_idx_out2() in ISACaller really should be relying on PowerDecoder2 but hey --- diff --git a/src/openpower/decoder/isa/caller.py b/src/openpower/decoder/isa/caller.py index a3ccd7e4..60a4c1f4 100644 --- a/src/openpower/decoder/isa/caller.py +++ b/src/openpower/decoder/isa/caller.py @@ -514,10 +514,14 @@ def get_pdecode_idx_out2(dec2, name): out, o_isvec) if upd == LDSTMode.update.value: return out, o_isvec + if name == 'RS': + fft_en = yield dec2.implicit_rs + if fft_en: + log("get_pdecode_idx_out2", out_sel, OutSel.RS.value, + out, o_isvec) + return out, o_isvec if name == 'FRS': - int_op = yield dec2.dec.op.internal_op fft_en = yield dec2.implicit_rs - # if int_op == MicrOp.OP_FP_MADD.value and fft_en: if fft_en: log("get_pdecode_idx_out2", out_sel, OutSel.FRS.value, out, o_isvec) diff --git a/src/openpower/decoder/power_decoder2.py b/src/openpower/decoder/power_decoder2.py index 14a376d9..dfa6f8f6 100644 --- a/src/openpower/decoder/power_decoder2.py +++ b/src/openpower/decoder/power_decoder2.py @@ -514,7 +514,7 @@ class DecodeOut2(Elaboratable): # will be offset by VL in hardware # with m.Case(MicrOp.OP_FP_MADD): with m.If(self.implicit_rs): - comb += self.reg_out.data.eq(self.dec.FRT) + comb += self.reg_out.data.eq(self.dec.FRT) # same as RT, for pcdec comb += self.reg_out.ok.eq(1) comb += self.rs_en.eq(1) diff --git a/src/openpower/decoder/power_enums.py b/src/openpower/decoder/power_enums.py index f2b47f2f..0f040fa6 100644 --- a/src/openpower/decoder/power_enums.py +++ b/src/openpower/decoder/power_enums.py @@ -751,6 +751,7 @@ class OutSel(Enum): RT_OR_ZERO = 4 FRT = 5 FRS = 6 + RS = 7 @unique