comparison cpu_dsl.py @ 2497:95d9809a3973

Fix constant propagation for sext instruction
author Michael Pavone <pavone@retrodev.com>
date Mon, 29 Apr 2024 22:57:33 -0700
parents ea37200967c7
children d74d3998482c
comparison
equal deleted inserted replaced
2496:187bc857a76a 2497:95d9809a3973
1010 maybeLocal = parent.resolveLocal(dst) 1010 maybeLocal = parent.resolveLocal(dst)
1011 if maybeLocal: 1011 if maybeLocal:
1012 dst = maybeLocal 1012 dst = maybeLocal
1013 parent.regValues[dst] = result 1013 parent.regValues[dst] = result
1014 if prog.isReg(dst): 1014 if prog.isReg(dst):
1015 shortProc = (procParams[0], procParams[-1]) 1015 shortProc = (result, procParams[-1])
1016 shortParams = (self.params[0], self.params[-1]) 1016 shortParams = (result, self.params[-1])
1017 output.append(_opMap['mov'].generate(otype, prog, shortProc, shortParams, None)) 1017 output.append(_opMap['mov'].generate(otype, prog, shortProc, shortParams, None))
1018 else: 1018 else:
1019 output.append(opDef.generate(otype, prog, procParams, self.params, flagUpdates)) 1019 output.append(opDef.generate(otype, prog, procParams, self.params, flagUpdates))
1020 for dstIdx in opDef.outOp: 1020 for dstIdx in opDef.outOp:
1021 dst = self.params[dstIdx] 1021 dst = self.params[dstIdx]