From d72f40c210663233e4499d287d64165a30e9d6c2 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Thu, 24 Jun 2021 22:07:53 +0100 Subject: [PATCH] add in Power Decoder conditions to select SVP64 bit-rev decoding --- src/openpower/decoder/power_decoder2.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/openpower/decoder/power_decoder2.py b/src/openpower/decoder/power_decoder2.py index 6528d4e2..88421837 100644 --- a/src/openpower/decoder/power_decoder2.py +++ b/src/openpower/decoder/power_decoder2.py @@ -769,6 +769,12 @@ class PowerDecodeSubset(Elaboratable): self.do = opkls(fn_name) col_subset = self.get_col_subset(self.do) + # "conditions" for Decoders, to enable some weird and wonderful + # alternatives. useful for PCR (Program Compatibility Register) + # amongst other things + conditions = {'SVP64BREV': self.use_svp64_ldst_dec, + '~SVP64BREV': ~self.use_svp64_ldst_dec + } # only needed for "main" PowerDecode2 if not self.final: self.e = Decode2ToExecute1Type(name=self.fn_name, do=self.do, @@ -777,7 +783,8 @@ class PowerDecodeSubset(Elaboratable): # create decoder if one not already given if dec is None: dec = create_pdecode(name=fn_name, col_subset=col_subset, - row_subset=self.rowsubsetfn) + row_subset=self.rowsubsetfn, + conditions=conditions) self.dec = dec # set up a copy of the PowerOp -- 2.30.2