Mercurial > repos > blastem
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] |