From 1d1a916e61cd2a484f9c187ac6c09376586c72cb Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Mon, 11 Sep 2023 11:06:48 -0700 Subject: [PATCH] make soc test_pipe_caller tests pass again --- src/openpower/decoder/isa/caller.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/openpower/decoder/isa/caller.py b/src/openpower/decoder/isa/caller.py index ae52cdc8..4cdc6b8b 100644 --- a/src/openpower/decoder/isa/caller.py +++ b/src/openpower/decoder/isa/caller.py @@ -2172,17 +2172,22 @@ class ISACaller(ISACallerHelper, ISAFPHelpers, StepLoop): ca32 = outs.get("CA32") log("carry already done?", ca, ca32, output_names) - carry_en = yield self.dec2.e.do.output_carry + # soc test_pipe_caller tests don't have output_carry + has_output_carry = hasattr(self.dec2.e.do, "output_carry") + carry_en = has_output_carry and (yield self.dec2.e.do.output_carry) if carry_en: yield from self.handle_carry_( inputs, results[0], ca, ca32, inp_ca_ov=inp_ca_ov) - # get outout named "overflow" and "CR0" + # get output named "overflow" and "CR0" overflow = outs.get('overflow') cr0 = outs.get('CR0') cr1 = outs.get('CR1') - if not self.is_svp64_mode: # yeah just no. not in parallel processing + # soc test_pipe_caller tests don't have oe + has_oe = hasattr(self.dec2.e.do, "oe") + # yeah just no. not in parallel processing + if has_oe and not self.is_svp64_mode: # detect if overflow was in return result ov_en = yield self.dec2.e.do.oe.oe ov_ok = yield self.dec2.e.do.oe.ok -- 2.30.2