From 45c4068b0a13c92cef156938ba7205f59c2fc1ab Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Tue, 6 Jul 2021 17:03:16 +0100 Subject: [PATCH] when FFT madd detected, only enable VL offset in non-REMAP mode --- src/openpower/decoder/power_decoder2.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/openpower/decoder/power_decoder2.py b/src/openpower/decoder/power_decoder2.py index e2353ff3..f9d90650 100644 --- a/src/openpower/decoder/power_decoder2.py +++ b/src/openpower/decoder/power_decoder2.py @@ -1279,8 +1279,13 @@ class PowerDecode2(PowerDecodeSubset): offs = Signal(7, name="offs_"+rname, reset_less=True) comb += offs.eq(0) if rname == 'RB': + # when FFT sv.ffmadd detected, and REMAP not in use, + # automagically add on an extra offset to RB. + # however when REMAP is active, the FFT REMAP + # schedule takes care of this offset. with m.If(dec_o2.reg_out.ok & dec_o2.fp_madd_en): - comb += offs.eq(vl) + with m.If(~self.remap_active): + comb += offs.eq(vl) # detect if Vectorised: add srcstep/dststep if yes. # to_reg is 7-bits, outs get dststep added, ins get srcstep with m.If(svdec.isvec): -- 2.30.2