[Libre-soc-bugs] [Bug 972] addme/subfme carry/overflow is incorrect

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Mar 30 04:06:13 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=972

--- Comment #7 from Jacob Lifshay <programmerjake at gmail.com> ---
found a weird bug, for `nego.`, get_cr_out is falling through to the `return
None, False`. This causes a TypeError when handle_comparison then tries to use
that None to index self.crl:

Traceback (most recent call last):
  File
"/home/jacob/projects/libreriscv/openpower-isa/src/openpower/test/runner.py",
line 306, in process
    insncode)
  File
"/home/jacob/projects/libreriscv/openpower-isa/src/openpower/test/runner.py",
line 102, in run_test
    yield from sim.execute_one()
  File
"/home/jacob/projects/libreriscv/openpower-isa/src/openpower/decoder/isa/caller.py",
line 1564, in execute_one
    yield from self.call(opname)         # execute the instruction
  File
"/home/jacob/projects/libreriscv/openpower-isa/src/openpower/decoder/isa/caller.py",
line 2005, in call
    yield from self.do_rc_ov(ins_name, results[0], overflow, cr0)
  File
"/home/jacob/projects/libreriscv/openpower-isa/src/openpower/decoder/isa/caller.py",
line 2069, in do_rc_ov
    self.handle_comparison(result, regnum, overflow, no_so=is_setvl)
  File
"/home/jacob/projects/libreriscv/openpower-isa/src/openpower/decoder/isa/caller.py",
line 1486, in handle_comparison
    self.crl[cr_idx].eq(cr_field)
TypeError: list indices must be integers or slices, not NoneType

pushed a test case:
https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=cd33210ab1516db05cbbf178db02fe889b6cb4f5

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list