Revert "if referred to through GPR (GPR[RA]), add to read_regs in parser"
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 7 Jun 2020 12:24:29 +0000 (13:24 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 7 Jun 2020 12:24:29 +0000 (13:24 +0100)
This reverts commit 18db92ba0f33dfcd036eeddbc42c54eb3cf06ce3.

src/soc/decoder/isa/comparefixed.patch
src/soc/decoder/pseudo/parser.py

index 56cdefccf34defa1a5b99397e980acc5459eeb81..b80e7be450528ffb96ebc98ba64b27e91f568653 100644 (file)
@@ -51,7 +51,7 @@
          return (CR,)
  
      @inject()
--    def op_cmpeqb(self, RA, RB, CR):
+-    def op_cmpeqb(self, RB, CR):
 -        src1 = GPR[RA]
 -        src1 = src1[56:64]
 +    def op_cmpeqb(self, RA, RB, CR):
          return (CR,)
  
      comparefixed_instrs = {}
+@@ -136,7 +135,7 @@
+                 form='X',
+                 asmregs=[['BF', 'L', 'RA', 'RB']])
+     comparefixed_instrs['cmpeqb'] = instruction_info(func=op_cmpeqb,
+-                read_regs=OrderedSet(['RB']),
++                read_regs=OrderedSet(['RA', 'RB']),
+                 uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']),
+                 special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BF']),
+                 form='X',
index 5bb28c7d1e4a2eb7f9422d3f00a75e631ebef70f..d2466eac3320d2d175b90bb769e39d2b5d6b88db 100644 (file)
@@ -369,9 +369,6 @@ class PowerParser:
                 print(astor.dump_tree(p[1]))
                 # replace GPR(x) with GPR[x]
                 idx = p[1].args[0]
-                # and add index to read_regs if it is a gpr
-                if idx in self.gprs:
-                    self.read_regs.add(name)
                 p[1] = ast.Subscript(p[1].func, idx, ast.Load())
             elif isinstance(p[1], ast.Call) and p[1].func.id == 'MEM':
                 print("mem assign")