From c747d198e6e3eb9972d202b5048a80bc53ce6325 Mon Sep 17 00:00:00 2001 From: Karol Stasiak Date: Thu, 30 May 2019 22:16:46 +0200 Subject: [PATCH] 6502: Fix optimization bug --- .../scala/millfork/assembly/mos/opt/LaterOptimizations.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/millfork/assembly/mos/opt/LaterOptimizations.scala b/src/main/scala/millfork/assembly/mos/opt/LaterOptimizations.scala index c0e9e4ca..7a9fe2e7 100644 --- a/src/main/scala/millfork/assembly/mos/opt/LaterOptimizations.scala +++ b/src/main/scala/millfork/assembly/mos/opt/LaterOptimizations.scala @@ -572,7 +572,7 @@ object LaterOptimizations { code.tail.take(length) ++ (code(0).copy(opcode = LDA) :: code(length + 1).copy(opcode = STA) :: code.drop(length + 2)) }, - (Elidable & HasOpcode(LAX) & Not(HasAddrMode(ZeroPageY)) & MatchAddrMode(0) & MatchParameter(0)) ~ + (Elidable & HasOpcode(LAX) & Not(HasAddrMode(ZeroPageY))) ~ (Elidable & Linear & Not(ConcernsX) & Not(ChangesA)).*.captureLength(2) ~ (Elidable & HasOpcode(STX) & Not(HasAddrMode(ZeroPageY)) & DoesntMatterWhatItDoesWith(State.X)) ~~> { (code, ctx) => val length = ctx.get[Int](2)