From e5d2a21bd25720f9267c7c8045df83163bc63a20 Mon Sep 17 00:00:00 2001 From: R Veera Kumar Date: Tue, 23 Nov 2021 23:28:03 +0530 Subject: [PATCH] Add expected state to case_0_adde in alu_cases unit test --- src/openpower/test/alu/alu_cases.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/openpower/test/alu/alu_cases.py b/src/openpower/test/alu/alu_cases.py index 677fc009..4ec302fc 100644 --- a/src/openpower/test/alu/alu_cases.py +++ b/src/openpower/test/alu/alu_cases.py @@ -255,19 +255,6 @@ class ALUTestCase(TestAccumulatorBase): self.add_case(Program(lst, bigendian), initial_regs) def case_0_adde(self): - lst = ["adde. 5, 6, 7"] - for i in range(10): - initial_regs = [0] * 32 - initial_regs[6] = random.randint(0, (1 << 64)-1) - initial_regs[7] = random.randint(0, (1 << 64)-1) - initial_sprs = {} - xer = SelectableInt(0, 64) - xer[XER_bits['CA']] = 1 - initial_sprs[special_sprs['XER']] = xer - self.add_case(Program(lst, bigendian), - initial_regs, initial_sprs) - - def cse_0_adde_expected(self): lst = ["adde. 5, 6, 7"] for i in range(10): initial_regs = [0] * 32 @@ -281,7 +268,7 @@ class ALUTestCase(TestAccumulatorBase): # (if it overflows, we don't care, because this is not addeo) result = 1 + initial_regs[6] + initial_regs[7] carry_out = result & (1<<64) # detect 65th bit as carry-out? - carry_out32 = result & (1<<32) # detect 33rd bit as carry-out? + carry_out32 = ((initial_regs[6] & 0xffff_ffff) + (initial_regs[7] & 0xffff_ffff)) & (1<<32) result = result & ((1<<64)-1) # round # TODO: calculate CR0 eq = 0 @@ -298,8 +285,8 @@ class ALUTestCase(TestAccumulatorBase): e.intregs[6] = initial_regs[6] # should be same as initial e.intregs[7] = initial_regs[7] # should be same as initial e.intregs[5] = result - e.ca = carry_out | (carry_out32<<1) # maybe other way round - e.crregs[0] = (eq<<1) | (gt<<2) | (le<<3) # something like this + e.ca = (carry_out>>64) | (carry_out32>>31) + e.crregs[0] = (eq<<1) | (gt<<2) | (le<<3) self.add_case(Program(lst, bigendian), initial_regs, initial_sprs, expected=e) -- 2.30.2