+++ /dev/null
---- fixedlogical.py.orig 2020-05-14 11:04:21.871367557 -0400
-+++ fixedlogical.py 2020-05-14 11:04:28.714770484 -0400
-@@ -188,7 +188,7 @@
- return (RA,)
-
- @inject()
-- def op_cmpb(self, RB, RA):
-+ def op_cmpb(self, RB, RS, RA):
- for n in range(0, 7 + 1):
- if eq(RS[8 * n:8 * n + 7 + 1], RB[8 * n:8 * n + 7 + 1]):
- RA[8 * n:8 * n + 7 + 1] = concat(1, repeat=8)
-@@ -493,7 +493,7 @@
- form='X',
- asmregs=[['RA', 'RS'], '(Rc=1)'])
- fixedlogical_instrs['cmpb'] = instruction_info(func=op_cmpb,
-- read_regs=OrderedSet(['RB']),
-+ read_regs=OrderedSet(['RB', 'RS']),
- uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']),
- special_regs=OrderedSet(), op_fields=OrderedSet(),
- form='X',
name = p[1]
if name in self.available_op_fields:
self.op_fields.add(name)
+ if name in self.gprs:
+ self.read_regs.add(name) # add to list of regs to read
if name in ['CR', 'LR', 'CTR', 'TAR', 'FPSCR', 'MSR']:
self.special_regs.add(name)
self.write_regs.add(name) # and add to list to write