use get_op on "internal_op" instead of self.dec.op in PowerDecoder2
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 24 Jun 2021 14:24:11 +0000 (15:24 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 24 Jun 2021 14:24:11 +0000 (15:24 +0100)
src/openpower/decoder/power_decoder2.py

index d15eccc437d7b31c137790577e8b449571373abb..10906ede7ba75541ef5764858c03a84beeb664ed 100644 (file)
@@ -1337,11 +1337,12 @@ class PowerDecode2(PowerDecodeSubset):
         # sigh this is exactly the sort of thing for which the
         # decoder is designed to not need.  MTSPR, MFSPR and others need
         # access to the XER bits.  however setting e.oe is not appropriate
-        with m.If(op.internal_op == MicrOp.OP_MFSPR):
+        internal_op = self.op_get("internal_op")
+        with m.If(internal_op == MicrOp.OP_MFSPR):
             comb += e.xer_in.eq(0b111) # SO, CA, OV
-        with m.If(op.internal_op == MicrOp.OP_CMP):
+        with m.If(internal_op == MicrOp.OP_CMP):
             comb += e.xer_in.eq(1<<XERRegsEnum.SO) # SO
-        with m.If(op.internal_op == MicrOp.OP_MTSPR):
+        with m.If(internal_op == MicrOp.OP_MTSPR):
             comb += e.xer_out.eq(1)
 
         # set the trapaddr to 0x700 for a td/tw/tdi/twi operation