diff --git a/src/main/fragment/pbuz1=_dec_pbuz1.asm b/src/main/fragment/pbuz1=_dec_pbuz1.asm deleted file mode 100644 index 0e48b713c..000000000 --- a/src/main/fragment/pbuz1=_dec_pbuz1.asm +++ /dev/null @@ -1,5 +0,0 @@ -lda {z1}+1 -bne !+ -dec {z1}+1 -!: -dec {z1} diff --git a/src/main/fragment/vwsz1_ge_vbuc1_then_la1.asm b/src/main/fragment/vwsz1_ge_vbuc1_then_la1.asm deleted file mode 100644 index ec921f69c..000000000 --- a/src/main/fragment/vwsz1_ge_vbuc1_then_la1.asm +++ /dev/null @@ -1,8 +0,0 @@ -lda {z1} -cmp #{c1} -lda {z1}+1 -sbc #0 -bvc !+ -eor #$80 -!: -bpl {la1} diff --git a/src/main/fragment/vwuz1=vbuaa_plus_vbuc1.asm b/src/main/fragment/vwuz1=vbuaa_plus_vbuc1.asm deleted file mode 100644 index 7ac67d1a5..000000000 --- a/src/main/fragment/vwuz1=vbuaa_plus_vbuc1.asm +++ /dev/null @@ -1,6 +0,0 @@ -clc -adc #{c1} -sta {z1} -lda #0 -adc #0 -sta {z1}+1 diff --git a/src/main/fragment/vwuz1_gt_vwuz2_then_la1.asm b/src/main/fragment/vwuz1_gt_vwuz2_then_la1.asm deleted file mode 100644 index 35f78a901..000000000 --- a/src/main/fragment/vwuz1_gt_vwuz2_then_la1.asm +++ /dev/null @@ -1,8 +0,0 @@ -lda {z2}+1 -cmp {z1}+1 -bne !+ -lda {z2} -cmp {z1} -!: -bcc {la1} -beq {la1} diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java index 81c81f544..b9a8fc001 100644 --- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java +++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java @@ -470,6 +470,34 @@ class AsmFragmentTemplateSynthesisRule { // Rewrite (Z1),a to use TAY prefix synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)z1_derefidx_vbuaa=(.*)", twoZ1+"|"+rvalYy, "tay" , "vb$1aa=$2", "sta ({z1}),y", mapZ, "yy")); + // Rewrite constant byte values to constant word values + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vb(.)c1(.*)", null, null , "$1vw$2c1$3", null, null)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vb(.)c2(.*)", null, null , "$1vw$2c2$3", null, null)); + // Rewrite constant word values to constant dword values + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vw(.)c1(.*)", null, null , "$1vd$2c1$3", null, null)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vw(.)c2(.*)", null, null , "$1vd$2c2$3", null, null)); + // Rewrite constant unsigned byte values to constant signed word values + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vbuc1(.*)", null, null , "$1vwsc1$2", null, null)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vbuc2(.*)", null, null , "$1vwsc2$2", null, null)); + // Rewrite constant unsigned word values to constant signed dword values + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vwuc1(.*)", null, null , "$1vdsc1$2", null, null)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vwuc2(.*)", null, null , "$1vdsc2$2", null, null)); + + /* + // Rewrite any zeropage pointer as an unsigned word zeropage values + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)p..z(.)(.*)", null, null , "$1vwuz$2$3", null, null)); + // Rewrite any constant pointer as an constant unsigned word + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)p..c(.)(.*)", null, null , "$1vwuc$2$3", null, null)); + */ + + // Synthesize constants using AA/XX/YY + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalAa+"|"+twoC1+"|"+ derefC1, "lda #{c1}", "$1=$2vbuaa$3", null, mapC)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalAa+"|"+twoC1+"|"+ derefC1, "lda #{c1}", "$1=$2vbsaa$3", null, mapC)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbuyy$3", null, mapC)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbsyy$3", null, mapC)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalXx+"|"+twoC1+"|"+ derefC1, "ldx #{c1}", "$1=$2vbuxx$3", null, mapC)); + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalXx+"|"+twoC1+"|"+ derefC1, "ldx #{c1}", "$1=$2vbsxx$3", null, mapC)); + // OLD STYLE REWRITES - written when only one rule could be taken synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)c1_derefidx_vbuz1=(.*)", twoZ1+"|"+twoC1, null, "vb$1aa=$2", "ldx {z1}\n" + "sta {c1},x", mapZC)); @@ -531,30 +559,6 @@ class AsmFragmentTemplateSynthesisRule { synths.add(new AsmFragmentTemplateSynthesisRule("(vws..)=(vws..)_(plus|minus)_(vws..)", null, null, "$1=$2_$3_$4", null, mapSToU)); synths.add(new AsmFragmentTemplateSynthesisRule("(vds..)=(vds..)_(plus|minus)_(vds..)", null, null, "$1=$2_$3_$4", null, mapSToU)); - // Use constant word ASM to synthesize unsigned constant byte ASM ( ...vb.c... -> vw.c... ) - synths.add(new AsmFragmentTemplateSynthesisRule("(vwuz.)=(vwuz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vwuc$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vwuz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vwuz.)", null, null, "$1=vwuc$2_$3_$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vwsz.)=(vwsz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vwsc$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vwsz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vwsz.)", null, null, "$1=vwsc$2_$3_$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vwuz.)=vb.c(.)", null, null, "$1=vwuc$2", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vwsz.)=vb.c(.)", null, null, "$1=vwsc$2", null, null)); - - // Use constant dword ASM to synthesize unsigned constant word ASM ( ...vw.c... -> vd.c... ) - synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=(vduz.)_(plus|minus|band|bxor|bor)_vw.c(.)", null, null, "$1=$2_$3_vduc$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vw.c(.)_(plus|minus|band|bxor|bor)_(vduz.)", null, null, "$1=vduc$2_$3_$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=(vdsz.)_(plus|minus|band|bxor|bor)_vw.c(.)", null, null, "$1=$2_$3_vdsc$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vw.c(.)_(plus|minus|band|bxor|bor)_(vdsz.)", null, null, "$1=vdsc$2_$3_$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vw.c(.)", null, null, "$1=vduc$2", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vw.c(.)", null, null, "$1=vdsc$2", null, null)); - - // Use constant dword ASM to synthesize unsigned constant byte ASM ( ...vb.c... -> vd.c... ) - synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=(vduz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vduc$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vduz.)", null, null, "$1=vduc$2_$3_$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=(vdsz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vdsc$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vdsz.)", null, null, "$1=vdsc$2_$3_$4", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vb.c(.)", null, null, "$1=vduc$2", null, null)); - synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vb.c(.)", null, null, "$1=vdsc$2", null, null)); - // Use Z1/Z2 ASM to synthesize Z1-only code ( ...z1...z1... -> ...z1...z2... ) synths.add(new AsmFragmentTemplateSynthesisRule("(v..)z1=(v..)z1_(plus|minus|band|bxor|bor)_(.*)", oneZ2, null, "$1z1=$2z2_$3_$4", null, mapZ, false)); synths.add(new AsmFragmentTemplateSynthesisRule("(v..)z1=(.*)_(plus|minus|band|bxor|bor)_(v..)z1", oneZ2, null, "$1z1=$2_$3_$4z2", null, mapZ, false)); @@ -567,14 +571,6 @@ class AsmFragmentTemplateSynthesisRule { synths.add(new AsmFragmentTemplateSynthesisRule("vb(.)aa=_dec_(.*)", null, null, "vb$1aa=$2_minus_1", null, null)); synths.add(new AsmFragmentTemplateSynthesisRule("vw(.)z1=_inc_vw(.z.)", null, null, "vw$1z1=vw$2_plus_1", null, null)); - // Synthesize constants using AA/XX/YY - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalAa+"|"+twoC1+"|"+ derefC1, "lda #{c1}", "$1=$2vbuaa$3", null, mapC)); - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalAa+"|"+twoC1+"|"+ derefC1, "lda #{c1}", "$1=$2vbsaa$3", null, mapC)); - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbuyy$3", null, mapC)); - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbsyy$3", null, mapC)); - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalXx+"|"+twoC1+"|"+ derefC1, "ldx #{c1}", "$1=$2vbuxx$3", null, mapC)); - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalXx+"|"+twoC1+"|"+ derefC1, "ldx #{c1}", "$1=$2vbsxx$3", null, mapC)); - // Synthesize some constant pointers as constant words synths.add(new AsmFragmentTemplateSynthesisRule("(.*)_(lt|gt|le|ge|eq|neq)_p..([cz].)_then_(.*)", null, null, "$1_$2_vwu$3_then_$4", null, null)); synths.add(new AsmFragmentTemplateSynthesisRule("p..([cz].)_(lt|gt|le|ge|eq|neq)_(.*)", null, null, "vwu$1_$2_$3", null, null)); diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java index 4d3e1a4b3..4857ca3a8 100644 --- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java +++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java @@ -42,6 +42,7 @@ public class AsmFragmentTemplateUsages { File[] files = AsmFragmentTemplateSynthesizer.SYNTHESIZER.allFragmentFiles(); if(logRedundantFiles) { + log.append("\nREDUNDANT ASM FRAGMENT FILES ANALYSIS (if found consider removing them from disk)"); Set redundantSignatures = new LinkedHashSet<>(); for(File file : files) { String fileName = file.getName(); diff --git a/src/test/java/dk/camelot64/kickc/test/TestFragments.java b/src/test/java/dk/camelot64/kickc/test/TestFragments.java index c3f489d71..270df548e 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestFragments.java +++ b/src/test/java/dk/camelot64/kickc/test/TestFragments.java @@ -31,21 +31,21 @@ public class TestFragments { } @Test - public void testAssignmentsBu() throws IOException, URISyntaxException { + public void testAssignmentsBu() throws IOException { testFragments("fragments-assignment-copy", assignmentsBu()); } @Test - public void testAssignmentsUnaryBu() throws IOException, URISyntaxException { + public void testAssignmentsUnaryBu() throws IOException { testFragments("fragments-assignment-unary", assignmentsUnaryBu()); } @Test - public void testAssignmentsBinaryBu() throws IOException, URISyntaxException { + public void testAssignmentsBinaryBu() throws IOException { testFragments("fragments-assignment-binary", assignmentsBinaryBu()); } - private void testFragments(String fileName, Collection signatures) throws IOException, URISyntaxException { + private void testFragments(String fileName, Collection signatures) throws IOException { CompileLog log = new CompileLog(); int cnt = 0; for(String signature : signatures) { diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 5ff1c92e9..16972bae4 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -44,6 +44,11 @@ public class TestPrograms { AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false); } + @Test + public void testTypeMix() throws IOException, URISyntaxException { + compileAndCompare("type-mix"); + } + @Test public void testClobberProblem() throws IOException, URISyntaxException { compileAndCompare("scrollbig-clobber"); diff --git a/src/test/kc/type-mix.kc b/src/test/kc/type-mix.kc new file mode 100644 index 000000000..e3245f2ab --- /dev/null +++ b/src/test/kc/type-mix.kc @@ -0,0 +1,13 @@ +// Tests that mixing types can synthesize a fragment correctly + +void main() { + + signed word w = 0; + byte* SCREEN = $400; + + for (byte i: 0..10) { + w = w - 12; + SCREEN[i] = $c8 bvc !+ eor #$80 !: diff --git a/src/test/ref/examples/sinplotter/sine-plotter.log b/src/test/ref/examples/sinplotter/sine-plotter.log index dd93f9d65..2f6b18c28 100644 --- a/src/test/ref/examples/sinplotter/sine-plotter.log +++ b/src/test/ref/examples/sinplotter/sine-plotter.log @@ -4135,9 +4135,9 @@ wrap_y: { b1: //SEG114 [63] if((signed word) wrap_y::y#4>=(byte/word/signed word/dword/signed dword) $c8) goto wrap_y::@2 -- vwsz1_ge_vbuc1_then_la1 lda y - cmp #$c8 + cmp #<$c8 lda y+1 - sbc #0 + sbc #>$c8 bvc !+ eor #$80 !: @@ -6300,9 +6300,9 @@ wrap_y: { b1: //SEG114 [63] if((signed word) wrap_y::y#4>=(byte/word/signed word/dword/signed dword) $c8) goto wrap_y::@2 -- vwsz1_ge_vbuc1_then_la1 lda y - cmp #$c8 + cmp #<$c8 lda y+1 - sbc #0 + sbc #>$c8 bvc !+ eor #$80 !: @@ -8509,9 +8509,9 @@ wrap_y: { b1: //SEG114 [63] if((signed word) wrap_y::y#4>=(byte/word/signed word/dword/signed dword) $c8) goto wrap_y::@2 -- vwsz1_ge_vbuc1_then_la1 lda y - cmp #$c8 + cmp #<$c8 lda y+1 - sbc #0 + sbc #>$c8 bvc !+ eor #$80 !: diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.asm b/src/test/ref/examples/sinsprites/sinus-sprites.asm index bd0dbc699..b471832a4 100644 --- a/src/test/ref/examples/sinsprites/sinus-sprites.asm +++ b/src/test/ref/examples/sinsprites/sinus-sprites.asm @@ -60,9 +60,9 @@ anim: { ldy xidx lda sintab_x,y clc - adc #$1e + adc #<$1e sta x - lda #0 + lda #>$1e adc #0 sta x+1 asl _2 diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.log b/src/test/ref/examples/sinsprites/sinus-sprites.log index 243a5feae..37e6c2734 100644 --- a/src/test/ref/examples/sinsprites/sinus-sprites.log +++ b/src/test/ref/examples/sinsprites/sinus-sprites.log @@ -3630,9 +3630,9 @@ anim: { ldy xidx lda sintab_x,y clc - adc #$1e + adc #<$1e sta x - lda #0 + lda #>$1e adc #0 sta x+1 //SEG43 [15] (byte~) anim::$2 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 @@ -5417,9 +5417,9 @@ anim: { ldy xidx lda sintab_x,y clc - adc #$1e + adc #<$1e sta x - lda #0 + lda #>$1e adc #0 sta x+1 //SEG43 [15] (byte~) anim::$2 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 @@ -7485,9 +7485,9 @@ anim: { ldy xidx lda sintab_x,y clc - adc #$1e + adc #<$1e sta x - lda #0 + lda #>$1e adc #0 sta x+1 //SEG43 [15] (byte~) anim::$2 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 diff --git a/src/test/ref/fragments-assignment-binary.log b/src/test/ref/fragments-assignment-binary.log index c408648e7..989c2430a 100644 --- a/src/test/ref/fragments-assignment-binary.log +++ b/src/test/ref/fragments-assignment-binary.log @@ -154085,12 +154085,12 @@ pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuyy=vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_minus_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_plus_pbuz3_derefidx_vbuz4 -pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 ldy #{c1} ora ({z3}),y ldy {z2} @@ -154839,13 +154839,13 @@ pbuz1_derefidx_vbuz2=vbuxx_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuaa=vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuxx_bxor_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuxx_minus_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuxx_plus_pbuz3_derefidx_vbuz4 -pbuz1_derefidx_vbuz2=vbuxx_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuxx_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 ldy #{c1} txa and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuxx_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuxx_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 ldy #{c1} txa ora ({z3}),y @@ -156453,13 +156453,13 @@ pbuz1_derefidx_vbuz2=vbuz1_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuz2=vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz1_bxor_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz1_minus_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz1_plus_pbuz3_derefidx_vbuz4 -pbuz1_derefidx_vbuz2=vbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z1} ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z1} ldy #{c1} ora ({z3}),y @@ -157368,13 +157368,13 @@ pbuz1_derefidx_vbuz2=vbuz2_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuaa=vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_bxor_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_minus_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_plus_pbuz3_derefidx_vbuz4 -pbuz1_derefidx_vbuz2=vbuz2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuz2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z2} ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuz2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuz2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z2} ldy #{c1} ora ({z3}),y @@ -158765,12 +158765,12 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_bor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_bxor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_minus_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_plus_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < vbuaa=vbuc1_band_vbuz1 < vbuaa=vbuaa_band_vbuz1 - clobber:A Y cycles:14.0 +pbuz1_derefidx_vbuz2=vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_band_vbuaa < vbuaa=vbuz1_band_vbuaa < vbuaa=vbuaa_band_vbuz1 - clobber:A Y cycles:14.0 lda #{c1} and {z3} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < vbuaa=vbuc1_bor_vbuz1 < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y cycles:14.0 +pbuz1_derefidx_vbuz2=vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_bor_vbuaa < vbuaa=vbuz1_bor_vbuaa < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y cycles:14.0 lda #{c1} ora {z3} ldy {z2} @@ -158786,7 +158786,7 @@ pbuz1_derefidx_vbuz2=vbuz3_minus_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_vbuc1 sbc #{c1} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < vbuaa=vbuc1_plus_vbuz1 < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y cycles:16.0 +pbuz1_derefidx_vbuz2=vbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_plus_vbuaa < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y cycles:16.0 lda #{c1} clc adc {z3} @@ -159391,14 +159391,14 @@ pbuz1_derefidx_vbuz2=_deref_pbuz1_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuz CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz1_bxor_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz1_minus_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz1_plus_pbuz3_derefidx_vbuz4 -pbuz1_derefidx_vbuz2=_deref_pbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 +pbuz1_derefidx_vbuz2=_deref_pbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 ldy #0 lda ({z1}),y ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 +pbuz1_derefidx_vbuz2=_deref_pbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 ldy #0 lda ({z1}),y ldy #{c1} @@ -161716,19 +161716,19 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_minus_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < vbuaa=vbuc1_band__deref_pbuz1 < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuaa < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:18.5 lda #{c1} ldy #0 and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < vbuaa=vbuc1_bor__deref_pbuz1 < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuaa < vbuaa=_deref_pbuz1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y cycles:18.5 lda #{c1} ldy #0 ora ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < vbuaa=vbuc1_bxor__deref_pbuz1 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:18.5 lda #{c1} ldy #0 eor ({z3}),y @@ -161741,7 +161741,7 @@ pbuz1_derefidx_vbuz2=_deref_pbuz3_minus_vbuc1 < vbuaa=_deref_pbuz1_minus_vbuc1 < sbc #{c1} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < vbuaa=vbuc1_plus__deref_pbuz1 < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuaa < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:20.5 lda #{c1} clc ldy #0 @@ -162394,13 +162394,13 @@ pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuz CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuz3_derefidx_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuz3_derefidx_vbuz4 -pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda {c1} ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda {c1} ldy #{c1} ora ({z3}),y @@ -162409,13 +162409,13 @@ pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuz3_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuz3_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuz3_derefidx_vbuc1 -pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda {c1} ldy #{c2} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda {c1} ldy #{c2} ora ({z3}),y @@ -162798,32 +162798,32 @@ pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbu adc {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_band_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {c1} ldy #{c1} and {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {c1} ldy #{c1} ora {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {c1} ldy #{c1} eor {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_minus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:21.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:21.5 lda {c1} ldy #{c1} sec sbc {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:21.5 +pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:21.5 lda {c1} ldy #{c1} clc @@ -168136,13 +168136,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bor_pbuc1_derefidx_v CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bxor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_minus_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_plus_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 tay lda #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 tay lda #{c1} ora ({z3}),y @@ -168567,14 +168567,14 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bor_pbuc1_derefidx_v CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bxor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_minus_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_plus_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 txa tay lda #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 txa tay lda #{c1} @@ -168990,12 +168990,12 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_pbuc1_derefidx_v CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bxor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_minus_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_plus_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 lda #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 lda #{c1} ora ({z3}),y ldy {z2} @@ -170455,13 +170455,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_pbuc1_derefidx_v CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bxor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_minus_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_plus_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda #{c1} ldy {z3} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda #{c1} ldy {z3} ora ({z3}),y @@ -171117,12 +171117,12 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_bxor_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_minus_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_plus_vbuc1 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 ldy #{c1} ora ({z3}),y ldy {z2} @@ -171130,13 +171130,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuaa -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 ldy #{c1} txa and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 ldy #{c1} txa ora ({z3}),y @@ -171160,13 +171160,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuyy < pbuz1_derefidx_vbuz2=vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuyy -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z1} ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z1} ldy #{c1} ora ({z3}),y @@ -171175,13 +171175,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuz1 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z2} ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda {z2} ldy #{c1} ora ({z3}),y @@ -171224,14 +171224,14 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuz4 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 ldy #0 lda ({z1}),y ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 ldy #0 lda ({z1}),y ldy #{c1} @@ -171300,13 +171300,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz4 < pbuz1_derefidx_vbua CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor__deref_pbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus__deref_pbuz4 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus__deref_pbuz4 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda {c1} ldy #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda {c1} ldy #{c1} ora ({z3}),y @@ -171315,13 +171315,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor__deref_pbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus__deref_pbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus__deref_pbuc1 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_pbuz3_derefidx_vbuc1 < vbuaa=_deref_pbuc2_band_pbuz1_derefidx_vbuc1 < vbuaa=_deref_pbuc1_band_pbuz1_derefidx_vbuyy < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 ldy #{c1} lda {c2} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_pbuz3_derefidx_vbuc1 < vbuaa=_deref_pbuc2_bor_pbuz1_derefidx_vbuc1 < vbuaa=_deref_pbuc1_bor_pbuz1_derefidx_vbuyy < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 ldy #{c1} lda {c2} ora ({z3}),y @@ -171783,13 +171783,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuc1 -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_pbuz3_derefidx_vbuc1 < vbuaa=vbuc2_band_pbuz1_derefidx_vbuc1 < vbuaa=vbuc1_band_pbuz1_derefidx_vbuyy < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 ldy #{c1} lda #{c2} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_pbuz3_derefidx_vbuc1 < vbuaa=vbuc2_bor_pbuz1_derefidx_vbuc1 < vbuaa=vbuc1_bor_pbuz1_derefidx_vbuyy < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 ldy #{c1} lda #{c2} ora ({z3}),y @@ -180488,12 +180488,12 @@ pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz2 < pbuz1_derefidx_vbuaa=vbuc1_plus_vbuaa < clc adc #{c1} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < vbuaa=vbuc1_band_vbuz1 < vbuaa=vbuaa_band_vbuz1 - clobber:A Y cycles:14.0 +pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_band_vbuaa < vbuaa=vbuz1_band_vbuaa < vbuaa=vbuaa_band_vbuz1 - clobber:A Y cycles:14.0 lda #{c1} and {z3} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < vbuaa=vbuc1_bor_vbuz1 < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y cycles:14.0 +pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_bor_vbuaa < vbuaa=vbuz1_bor_vbuaa < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y cycles:14.0 lda #{c1} ora {z3} ldy {z2} @@ -180503,13 +180503,13 @@ pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuz3 < pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuaa < eor #{c1} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus_vbuz3 < vbuaa=vbuc1_minus_vbuz1 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:16.0 +pbuz1_derefidx_vbuz2=vbuc1_minus_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus_vbuz3 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:16.0 lda #{c1} sec sbc {z3} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < vbuaa=vbuc1_plus_vbuz1 < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y cycles:16.0 +pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_plus_vbuaa < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y cycles:16.0 lda #{c1} clc adc {z3} @@ -180595,32 +180595,32 @@ pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz2 < pbuz1_derefidx_vbuz2=vbuaa_plus__ adc ({z2}),y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < vbuaa=vbuc1_band__deref_pbuz1 < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuaa < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:18.5 lda #{c1} ldy #0 and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < vbuaa=vbuc1_bor__deref_pbuz1 < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuaa < vbuaa=_deref_pbuz1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y cycles:18.5 lda #{c1} ldy #0 ora ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < vbuaa=vbuc1_bxor__deref_pbuz1 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:18.5 lda #{c1} ldy #0 eor ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuz3 < vbuaa=vbuc1_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus__deref_pbuz3 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:20.5 lda #{c1} sec ldy #0 sbc ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < vbuaa=vbuc1_plus__deref_pbuz1 < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuaa < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:20.5 lda #{c1} clc ldy #0 @@ -180655,28 +180655,28 @@ pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_v adc #{c1} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_vbuc1 < vbuaa=_deref_pbuc2_band_vbuc1 < vbuaa=_deref_pbuc1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuc1 - clobber:A Y cycles:15.0 +pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_band_vbuaa < vbuaa=_deref_pbuc1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuc1 - clobber:A Y cycles:15.0 lda #{c1} and {c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_vbuc1 < vbuaa=_deref_pbuc2_bor_vbuc1 < vbuaa=_deref_pbuc1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuc1 - clobber:A Y cycles:15.0 +pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_vbuaa < vbuaa=_deref_pbuc1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuc1 - clobber:A Y cycles:15.0 lda #{c1} ora {c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bxor_vbuc1 < vbuaa=_deref_pbuc2_bxor_vbuc1 < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y cycles:15.0 +pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bxor_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_vbuaa < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y cycles:15.0 lda #{c1} eor {c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuc2 < vbuaa=vbuc1_minus__deref_pbuc2 < vbuaa=vbuaa_minus__deref_pbuc1 - clobber:A Y cycles:17.0 +pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuc2 < pbuz1_derefidx_vbuz2=vbuaa_minus__deref_pbuc1 < vbuaa=vbuaa_minus__deref_pbuc1 - clobber:A Y cycles:17.0 lda #{c1} sec sbc {c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_plus_vbuc1 < vbuaa=_deref_pbuc2_plus_vbuc1 < vbuaa=_deref_pbuc1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuc1 - clobber:A Y cycles:17.0 +pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_plus_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_vbuaa < vbuaa=_deref_pbuc1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuc1 - clobber:A Y cycles:17.0 lda #{c1} clc adc {c2} @@ -180868,13 +180868,13 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz2_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz2_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz2_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz2_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 tay lda #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 tay lda #{c1} ora ({z3}),y @@ -180883,14 +180883,14 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuaa -pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 txa tay lda #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:20.5 txa tay lda #{c1} @@ -180900,12 +180900,12 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuxx -pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 lda #{c1} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 lda #{c1} ora ({z3}),y ldy {z2} @@ -180943,13 +180943,13 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz2 < pbuz1_derefidx_vbuz2=vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuz2 -pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda #{c1} ldy {z3} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5 lda #{c1} ldy {z3} ora ({z3}),y @@ -180984,13 +180984,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuc1 -pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuc2_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 lda #{c1} ldy #{c2} and ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuc2_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 lda #{c1} ldy #{c2} ora ({z3}),y @@ -181197,87 +181197,87 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 tay lda #{c1} and {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 tay lda #{c1} ora {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 tay lda #{c1} eor {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 tay lda #{c1} sec sbc {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 tay lda #{c1} clc adc {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_band_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_band_vbuc1 < vbuaa=vbuc1_band_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_band_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 lda #{c1} and {c2},x ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bor_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_bor_vbuc1 < vbuaa=vbuc1_bor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 lda #{c1} ora {c2},x ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bxor_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_bxor_vbuc1 < vbuaa=vbuc1_bxor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 +pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bxor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 lda #{c1} eor {c2},x ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A Y cycles:17.5 lda #{c1} sec sbc {c2},x ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_plus_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_plus_vbuc1 < vbuaa=vbuc1_plus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_plus_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A Y cycles:17.5 lda #{c1} clc adc {c2},x ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:15.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:15.5 lda #{c1} and {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:15.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:15.5 lda #{c1} ora {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:15.5 +pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:15.5 lda #{c1} eor {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 lda #{c1} sec sbc {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 lda #{c1} clc adc {c2},y @@ -181347,32 +181347,32 @@ pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuz2 < pbuz1_derefidx_vbuz2=pbuc adc {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_band_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_band_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_band_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y cycles:18.5 lda #{c1} ldy {z3} and {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bor_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_bor_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:18.5 lda #{c1} ldy {z3} ora {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bxor_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_bxor_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bxor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_bxor_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:18.5 lda #{c1} ldy {z3} eor {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuz3 < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuz1 < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuz1 < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda #{c1} ldy {z3} sec sbc {c2},y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_plus_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_plus_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_plus_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y cycles:20.5 lda #{c1} ldy {z3} clc @@ -181399,28 +181399,28 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bor_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_vbuc1 -pbuz1_derefidx_vbuz2=vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_vbuc1 < vbuaa=vbuc2_band_vbuc1 < vbuaa=vbuc1_band_vbuaa < vbuaa=vbuaa_band_vbuc1 - clobber:A Y cycles:13.0 +pbuz1_derefidx_vbuz2=vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_vbuaa < vbuaa=vbuc1_band_vbuaa < vbuaa=vbuaa_band_vbuc1 - clobber:A Y cycles:13.0 lda #{c1} and #{c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_vbuc1 < vbuaa=vbuc2_bor_vbuc1 < vbuaa=vbuc1_bor_vbuaa < vbuaa=vbuaa_bor_vbuc1 - clobber:A Y cycles:13.0 +pbuz1_derefidx_vbuz2=vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_vbuaa < vbuaa=vbuc1_bor_vbuaa < vbuaa=vbuaa_bor_vbuc1 - clobber:A Y cycles:13.0 lda #{c1} ora #{c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bxor_vbuc1 < vbuaa=vbuc2_bxor_vbuc1 < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y cycles:13.0 +pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bxor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuaa < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y cycles:13.0 lda #{c1} eor #{c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_minus_vbuc2 < vbuaa=vbuc1_minus_vbuc2 < vbuaa=vbuaa_minus_vbuc1 - clobber:A Y cycles:15.0 +pbuz1_derefidx_vbuz2=vbuc1_minus_vbuc2 < pbuz1_derefidx_vbuz2=vbuaa_minus_vbuc1 < vbuaa=vbuaa_minus_vbuc1 - clobber:A Y cycles:15.0 lda #{c1} sec sbc #{c2} ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuc1_plus_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_plus_vbuc1 < vbuaa=vbuc2_plus_vbuc1 < vbuaa=vbuc1_plus_vbuaa < vbuaa=vbuaa_plus_vbuc1 - clobber:A Y cycles:15.0 +pbuz1_derefidx_vbuz2=vbuc1_plus_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_vbuaa < vbuaa=vbuc1_plus_vbuaa < vbuaa=vbuaa_plus_vbuc1 - clobber:A Y cycles:15.0 lda #{c1} clc adc #{c2} diff --git a/src/test/ref/fragments-assignment-copy.log b/src/test/ref/fragments-assignment-copy.log index b97ea008d..a451830b0 100644 --- a/src/test/ref/fragments-assignment-copy.log +++ b/src/test/ref/fragments-assignment-copy.log @@ -1207,7 +1207,7 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_ lda ({z3}),y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 +pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy < vbuaa=pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.5 ldy #{c1} lda ({z3}),y ldy {z2} @@ -1241,7 +1241,7 @@ pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_ sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=vbuc1 < vbuaa=vbuc1 - clobber:A Y cycles:11.0 +pbuz1_derefidx_vbuz2=vbuc1 < pbuz1_derefidx_vbuz2=vbuaa - clobber:A Y cycles:11.0 lda #{c1} ldy {z2} sta ({z1}),y diff --git a/src/test/ref/fragments-assignment-unary.log b/src/test/ref/fragments-assignment-unary.log index 12083e95b..ee5b3c164 100644 --- a/src/test/ref/fragments-assignment-unary.log +++ b/src/test/ref/fragments-assignment-unary.log @@ -259,11 +259,11 @@ CANNOT SYNTHESIZE vbuaa=_pos_pbuc1_derefidx_vbuc2 vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A cycles:4.0 lda #{c1} eor #$ff -vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A cycles:6.0 +vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A cycles:6.0 lda #{c1} sec sbc #1 -vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:6.0 +vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:6.0 lda #{c1} clc adc #1 @@ -1257,7 +1257,7 @@ vbuz1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A cycles:7 lda #{c1} eor #$ff sta {z1} -vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A cycles:9.0 +vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A cycles:9.0 lda #{c1} sec sbc #1 @@ -1270,7 +1270,7 @@ vbuz1=_dec_vbuc1 < vbuyy=_dec_vbuc1 < vbuyy=_dec_vbuyy - clobber:Y cycles:7.0 ldy #{c1} dey sty {z1} -vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:9.0 +vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:9.0 lda #{c1} clc adc #1 @@ -1711,13 +1711,13 @@ _deref_pbuz1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A Y eor #$ff ldy #0 sta ({z1}),y -_deref_pbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.0 +_deref_pbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.0 lda #{c1} sec sbc #1 ldy #0 sta ({z1}),y -_deref_pbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.0 +_deref_pbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.0 lda #{c1} clc adc #1 @@ -2207,25 +2207,25 @@ _deref_pbuc1=_bnot_pbuc2_derefidx_vbuc1 < vbuaa=_bnot_pbuc2_derefidx_vbuc1 < vbu lda {c2},y eor #$ff sta {c1} -_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_minus_1 < vbuaa=pbuc1_derefidx_vbuxx_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X cycles:14.5 +_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc1_derefidx_vbuxx < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X cycles:14.5 ldx #{c1} lda {c2},x sec sbc #1 sta {c1} -_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_minus_1 < vbuaa=pbuc1_derefidx_vbuyy_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.5 +_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc1_derefidx_vbuyy < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.5 ldy #{c1} lda {c2},y sec sbc #1 sta {c1} -_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_plus_1 < vbuaa=1_plus_pbuc2_derefidx_vbuc1 < vbuaa=1_plus_pbuc1_derefidx_vbuxx < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:14.5 +_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc1_derefidx_vbuxx < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:14.5 ldx #{c1} lda {c2},x clc adc #1 sta {c1} -_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_plus_1 < vbuaa=1_plus_pbuc2_derefidx_vbuc1 < vbuaa=1_plus_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_plus_1 < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.5 +_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc1_derefidx_vbuyy < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.5 ldy #{c1} lda {c2},y clc @@ -2260,12 +2260,12 @@ _deref_pbuc1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A c lda #{c1} eor #$ff sta {c1} -_deref_pbuc1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A cycles:10.0 +_deref_pbuc1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A cycles:10.0 lda #{c1} sec sbc #1 sta {c1} -_deref_pbuc1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:10.0 +_deref_pbuc1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:10.0 lda #{c1} clc adc #1 @@ -2281,12 +2281,12 @@ _deref_pbuc1=_bnot_vbuc2 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A c lda #{c2} eor #$ff sta {c1} -_deref_pbuc1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A cycles:10.0 +_deref_pbuc1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A cycles:10.0 lda #{c2} sec sbc #1 sta {c1} -_deref_pbuc1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:10.0 +_deref_pbuc1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:10.0 lda #{c2} clc adc #1 @@ -2871,13 +2871,13 @@ pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb lda #{c1} eor #$ff sta ({z1}),y -pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.0 +pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.0 tay lda #{c1} sec sbc #1 sta ({z1}),y -pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.0 +pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.0 tay lda #{c1} clc @@ -3425,14 +3425,14 @@ pbuz1_derefidx_vbuxx=_bnot_vbuc1 < pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bno lda #{c1} eor #$ff sta ({z1}),y -pbuz1_derefidx_vbuxx=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:16.0 +pbuz1_derefidx_vbuxx=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:16.0 txa tay lda #{c1} sec sbc #1 sta ({z1}),y -pbuz1_derefidx_vbuxx=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:16.0 +pbuz1_derefidx_vbuxx=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:16.0 txa tay lda #{c1} @@ -4054,14 +4054,14 @@ pbuz1_derefidx_vbuyy=_bnot_vbuc1 < pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bno lda #{c1} eor #$ff sta ({z1}),y -pbuz1_derefidx_vbuyy=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:16.0 +pbuz1_derefidx_vbuyy=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:16.0 tya tay lda #{c1} sec sbc #1 sta ({z1}),y -pbuz1_derefidx_vbuyy=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:16.0 +pbuz1_derefidx_vbuyy=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:16.0 tya tay lda #{c1} @@ -4735,14 +4735,14 @@ pbuz1_derefidx_vbuz1=_bnot_vbuc1 < pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bno lda #{c1} eor #$ff sta ({z1}),y -pbuz1_derefidx_vbuz1=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:17.0 +pbuz1_derefidx_vbuz1=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:17.0 lda {z1} tay lda #{c1} sec sbc #1 sta ({z1}),y -pbuz1_derefidx_vbuz1=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:17.0 +pbuz1_derefidx_vbuz1=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:17.0 lda {z1} tay lda #{c1} @@ -5310,24 +5310,24 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_dec_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_inc_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_neg_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_pos_pbuc1_derefidx_vbuc2 -pbuz1_derefidx_vbuz2=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A Y cycles:13.0 +pbuz1_derefidx_vbuz2=_bnot_vbuc1 < pbuz1_derefidx_vbuz2=_bnot_vbuaa < vbuaa=_bnot_vbuaa - clobber:A Y cycles:13.0 lda #{c1} eor #$ff ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:15.0 +pbuz1_derefidx_vbuz2=_dec_vbuc1 < pbuz1_derefidx_vbuz2=_dec_vbuaa < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:15.0 lda #{c1} sec sbc #1 ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:15.0 +pbuz1_derefidx_vbuz2=_inc_vbuc1 < pbuz1_derefidx_vbuz2=_inc_vbuaa < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:15.0 lda #{c1} clc adc #1 ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=_neg_vbuc1 < vbuaa=_neg_vbuc1 < vbuaa=_neg_vbuaa - clobber:A Y cycles:17.0 +pbuz1_derefidx_vbuz2=_neg_vbuc1 < pbuz1_derefidx_vbuz2=_neg_vbuaa < vbuaa=_neg_vbuaa - clobber:A Y cycles:17.0 lda #{c1} eor #$ff clc @@ -6168,25 +6168,25 @@ pbuc1_derefidx_vbuaa=_bnot_vbuc2 < pbuc1_derefidx_vbuyy=_bnot_vbuc2 < vbuaa=_bno lda #{c2} eor #$ff sta {c1},y -pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X cycles:13.0 +pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X cycles:13.0 tax lda #{c2} sec sbc #1 sta {c1},x -pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:13.0 +pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:13.0 tay lda #{c2} sec sbc #1 sta {c1},y -pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:13.0 +pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:13.0 tax lda #{c2} clc adc #1 sta {c1},x -pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:13.0 +pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:13.0 tay lda #{c2} clc @@ -6609,12 +6609,12 @@ pbuc1_derefidx_vbuxx=_bnot_vbuc2 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb lda #{c2} eor #$ff sta {c1},x -pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A cycles:11.0 +pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A cycles:11.0 lda #{c2} sec sbc #1 sta {c1},x -pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:11.0 +pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:11.0 lda #{c2} clc adc #1 @@ -7081,12 +7081,12 @@ pbuc1_derefidx_vbuyy=_bnot_vbuc2 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb lda #{c2} eor #$ff sta {c1},y -pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A cycles:11.0 +pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A cycles:11.0 lda #{c2} sec sbc #1 sta {c1},y -pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:11.0 +pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A cycles:11.0 lda #{c2} clc adc #1 @@ -8018,14 +8018,14 @@ pbuc1_derefidx_vbuz1=_bnot_pbuc2_derefidx_vbuc1 < vbuaa=_bnot_pbuc2_derefidx_vbu eor #$ff ldx {z1} sta {c1},x -pbuc1_derefidx_vbuz1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_minus_1 < vbuaa=pbuc1_derefidx_vbuxx_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X cycles:18.5 +pbuc1_derefidx_vbuz1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc1_derefidx_vbuxx < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X cycles:18.5 ldx #{c1} lda {c2},x sec sbc #1 ldx {z1} sta {c1},x -pbuc1_derefidx_vbuz1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_plus_1 < vbuaa=1_plus_pbuc2_derefidx_vbuc1 < vbuaa=1_plus_pbuc1_derefidx_vbuxx < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:18.5 +pbuc1_derefidx_vbuz1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc1_derefidx_vbuxx < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:18.5 ldx #{c1} lda {c2},x clc @@ -8056,13 +8056,13 @@ pbuc1_derefidx_vbuz1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb eor #$ff ldx {z1} sta {c1},x -pbuc1_derefidx_vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X cycles:14.0 +pbuc1_derefidx_vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X cycles:14.0 lda #{c1} sec sbc #1 ldx {z1} sta {c1},x -pbuc1_derefidx_vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:14.0 +pbuc1_derefidx_vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:14.0 lda #{c1} clc adc #1 @@ -8086,25 +8086,25 @@ pbuc1_derefidx_vbuz1=_bnot_vbuc2 < pbuc1_derefidx_vbuyy=_bnot_vbuc2 < vbuaa=_bno lda #{c2} eor #$ff sta {c1},y -pbuc1_derefidx_vbuz1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X cycles:14.0 +pbuc1_derefidx_vbuz1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X cycles:14.0 lda #{c2} sec sbc #1 ldx {z1} sta {c1},x -pbuc1_derefidx_vbuz1=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.0 +pbuc1_derefidx_vbuz1=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y cycles:14.0 ldy {z1} lda #{c2} sec sbc #1 sta {c1},y -pbuc1_derefidx_vbuz1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:14.0 +pbuc1_derefidx_vbuz1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X cycles:14.0 lda #{c2} clc adc #1 ldx {z1} sta {c1},x -pbuc1_derefidx_vbuz1=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.0 +pbuc1_derefidx_vbuz1=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y cycles:14.0 ldy {z1} lda #{c2} clc diff --git a/src/test/ref/type-mix.asm b/src/test/ref/type-mix.asm new file mode 100644 index 000000000..919cdc7e2 --- /dev/null +++ b/src/test/ref/type-mix.asm @@ -0,0 +1,26 @@ +// Tests that mixing types can synthesize a fragment correctly +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +main: { + .label SCREEN = $400 + .label w = 2 + ldx #0 + txa + sta w + sta w+1 + b1: + lda w + sec + sbc #<$c + sta w + lda w+1 + sbc #>$c + sta w+1 + lda w + sta SCREEN,x + inx + cpx #$b + bne b1 + rts +} diff --git a/src/test/ref/type-mix.cfg b/src/test/ref/type-mix.cfg new file mode 100644 index 000000000..3380b66ac --- /dev/null +++ b/src/test/ref/type-mix.cfg @@ -0,0 +1,24 @@ +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + to:main::@1 +main::@1: scope:[main] from main main::@1 + [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 ) + [5] (signed word) main::w#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(signed word) main::w#1 ) + [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c + [7] (byte~) main::$1 ← < (signed word) main::w#1 + [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 + [9] (byte) main::i#1 ← ++ (byte) main::i#2 + [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 + to:main::@return +main::@return: scope:[main] from main::@1 + [11] return + to:@return diff --git a/src/test/ref/type-mix.log b/src/test/ref/type-mix.log new file mode 100644 index 000000000..7ce1d2318 --- /dev/null +++ b/src/test/ref/type-mix.log @@ -0,0 +1,410 @@ + +CONTROL FLOW GRAPH SSA +@begin: scope:[] from + to:@1 +main: scope:[main] from @1 + (signed word) main::w#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*) main::SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) $400 + (byte) main::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:main::@1 +main::@1: scope:[main] from main main::@1 + (byte) main::i#2 ← phi( main/(byte) main::i#0 main::@1/(byte) main::i#1 ) + (byte*) main::SCREEN#1 ← phi( main/(byte*) main::SCREEN#0 main::@1/(byte*) main::SCREEN#1 ) + (signed word) main::w#2 ← phi( main/(signed word) main::w#0 main::@1/(signed word) main::w#1 ) + (signed word/signed dword~) main::$0 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c + (signed word) main::w#1 ← (signed word/signed dword~) main::$0 + (byte~) main::$1 ← < (signed word) main::w#1 + *((byte*) main::SCREEN#1 + (byte) main::i#2) ← (byte~) main::$1 + (byte) main::i#1 ← (byte) main::i#2 + rangenext(0,$a) + (bool~) main::$2 ← (byte) main::i#1 != rangelast(0,$a) + if((bool~) main::$2) goto main::@1 + to:main::@return +main::@return: scope:[main] from main::@1 + return + to:@return +@1: scope:[] from @begin + call main + to:@2 +@2: scope:[] from @1 + to:@end +@end: scope:[] from @2 + +SYMBOL TABLE SSA +(label) @1 +(label) @2 +(label) @begin +(label) @end +(void()) main() +(signed word/signed dword~) main::$0 +(byte~) main::$1 +(bool~) main::$2 +(label) main::@1 +(label) main::@return +(byte*) main::SCREEN +(byte*) main::SCREEN#0 +(byte*) main::SCREEN#1 +(byte) main::i +(byte) main::i#0 +(byte) main::i#1 +(byte) main::i#2 +(signed word) main::w +(signed word) main::w#0 +(signed word) main::w#1 +(signed word) main::w#2 + +Culled Empty Block (label) @2 +Successful SSA optimization Pass2CullEmptyBlocks +Alias (signed word) main::w#1 = (signed word/signed dword~) main::$0 +Successful SSA optimization Pass2AliasElimination +Self Phi Eliminated (byte*) main::SCREEN#1 +Successful SSA optimization Pass2SelfPhiElimination +Redundant Phi (byte*) main::SCREEN#1 (byte*) main::SCREEN#0 +Successful SSA optimization Pass2RedundantPhiElimination +Simple Condition (bool~) main::$2 [10] if((byte) main::i#1!=rangelast(0,$a)) goto main::@1 +Successful SSA optimization Pass2ConditionalJumpSimplification +Constant (const signed word) main::w#0 = 0 +Constant (const byte*) main::SCREEN#0 = ((byte*))$400 +Constant (const byte) main::i#0 = 0 +Successful SSA optimization Pass2ConstantIdentification +Resolved ranged next value main::i#1 ← ++ main::i#2 to ++ +Resolved ranged comparison value if(main::i#1!=rangelast(0,$a)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) $b +Inlining constant with var siblings (const signed word) main::w#0 +Inlining constant with var siblings (const byte) main::i#0 +Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined main::w#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Successful SSA optimization Pass2ConstantInlining +Added new block during phi lifting main::@3(between main::@1 and main::@1) +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +CALL GRAPH +Calls in [] to main:2 + +Created 2 initial phi equivalence classes +Coalesced [12] main::w#3 ← main::w#1 +Coalesced [13] main::i#3 ← main::i#1 +Coalesced down to 2 phi equivalence classes +Culled Empty Block (label) main::@3 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + to:main::@1 +main::@1: scope:[main] from main main::@1 + [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 ) + [5] (signed word) main::w#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(signed word) main::w#1 ) + [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c + [7] (byte~) main::$1 ← < (signed word) main::w#1 + [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 + [9] (byte) main::i#1 ← ++ (byte) main::i#2 + [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 + to:main::@return +main::@return: scope:[main] from main::@1 + [11] return + to:@return + + +VARIABLE REGISTER WEIGHTS +(void()) main() +(byte~) main::$1 22.0 +(byte*) main::SCREEN +(byte) main::i +(byte) main::i#1 16.5 +(byte) main::i#2 8.25 +(signed word) main::w +(signed word) main::w#1 6.6000000000000005 +(signed word) main::w#2 22.0 + +Initial phi equivalence classes +[ main::w#2 main::w#1 ] +[ main::i#2 main::i#1 ] +Added variable main::$1 to zero page equivalence class [ main::$1 ] +Complete equivalence classes +[ main::w#2 main::w#1 ] +[ main::i#2 main::i#1 ] +[ main::$1 ] +Allocated zp ZP_WORD:2 [ main::w#2 main::w#1 ] +Allocated zp ZP_BYTE:4 [ main::i#2 main::i#1 ] +Allocated zp ZP_BYTE:5 [ main::$1 ] + +INITIAL ASM +//SEG0 File Comments +// Tests that mixing types can synthesize a fragment correctly +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + .label SCREEN = $400 + .label _1 = 5 + .label w = 2 + .label i = 4 + //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 + lda #0 + sta i + //SEG13 [5] phi (signed word) main::w#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vwsz1=vbuc1 + lda #<0 + sta w + lda #>0 + sta w+1 + jmp b1 + //SEG14 [5] phi from main::@1 to main::@1 [phi:main::@1->main::@1] + b1_from_b1: + //SEG15 [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@1->main::@1#0] -- register_copy + //SEG16 [5] phi (signed word) main::w#2 = (signed word) main::w#1 [phi:main::@1->main::@1#1] -- register_copy + jmp b1 + //SEG17 main::@1 + b1: + //SEG18 [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c -- vwsz1=vwsz1_minus_vbuc1 + lda w + sec + sbc #<$c + sta w + lda w+1 + sbc #>$c + sta w+1 + //SEG19 [7] (byte~) main::$1 ← < (signed word) main::w#1 -- vbuz1=_lo_vwsz2 + lda w + sta _1 + //SEG20 [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuz2 + lda _1 + ldy i + sta SCREEN,y + //SEG21 [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 + inc i + //SEG22 [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + lda i + cmp #$b + bne b1_from_b1 + jmp breturn + //SEG23 main::@return + breturn: + //SEG24 [11] return + rts +} + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c [ main::i#2 main::w#1 ] ( main:2 [ main::i#2 main::w#1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ main::i#2 main::i#1 ] +Statement [7] (byte~) main::$1 ← < (signed word) main::w#1 [ main::i#2 main::w#1 main::$1 ] ( main:2 [ main::i#2 main::w#1 main::$1 ] ) always clobbers reg byte a +Statement [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c [ main::i#2 main::w#1 ] ( main:2 [ main::i#2 main::w#1 ] ) always clobbers reg byte a +Statement [7] (byte~) main::$1 ← < (signed word) main::w#1 [ main::i#2 main::w#1 main::$1 ] ( main:2 [ main::i#2 main::w#1 main::$1 ] ) always clobbers reg byte a +Potential registers zp ZP_WORD:2 [ main::w#2 main::w#1 ] : zp ZP_WORD:2 , +Potential registers zp ZP_BYTE:4 [ main::i#2 main::i#1 ] : zp ZP_BYTE:4 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:5 [ main::$1 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , + +REGISTER UPLIFT SCOPES +Uplift Scope [main] 28.6: zp ZP_WORD:2 [ main::w#2 main::w#1 ] 24.75: zp ZP_BYTE:4 [ main::i#2 main::i#1 ] 22: zp ZP_BYTE:5 [ main::$1 ] +Uplift Scope [] + +Uplifting [main] best 553 combination zp ZP_WORD:2 [ main::w#2 main::w#1 ] reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$1 ] +Uplifting [] best 553 combination + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 File Comments +// Tests that mixing types can synthesize a fragment correctly +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +main: { + .label SCREEN = $400 + .label w = 2 + //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG13 [5] phi (signed word) main::w#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vwsz1=vbuc1 + lda #<0 + sta w + lda #>0 + sta w+1 + jmp b1 + //SEG14 [5] phi from main::@1 to main::@1 [phi:main::@1->main::@1] + b1_from_b1: + //SEG15 [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@1->main::@1#0] -- register_copy + //SEG16 [5] phi (signed word) main::w#2 = (signed word) main::w#1 [phi:main::@1->main::@1#1] -- register_copy + jmp b1 + //SEG17 main::@1 + b1: + //SEG18 [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c -- vwsz1=vwsz1_minus_vbuc1 + lda w + sec + sbc #<$c + sta w + lda w+1 + sbc #>$c + sta w+1 + //SEG19 [7] (byte~) main::$1 ← < (signed word) main::w#1 -- vbuaa=_lo_vwsz1 + lda w + //SEG20 [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 -- pbuc1_derefidx_vbuxx=vbuaa + sta SCREEN,x + //SEG21 [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx + //SEG22 [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + cpx #$b + bne b1_from_b1 + jmp breturn + //SEG23 main::@return + breturn: + //SEG24 [11] return + rts +} + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b1 +Removing instruction jmp bend +Removing instruction jmp b1 +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Replacing instruction lda #<0 with TXA +Removing instruction lda #>0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Replacing label b1_from_b1 with b1 +Removing instruction b1_from_bbegin: +Removing instruction b1: +Removing instruction main_from_b1: +Removing instruction bend_from_b1: +Removing instruction b1_from_b1: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction bend: +Removing instruction b1_from_main: +Removing instruction breturn: +Succesful ASM optimization Pass5UnusedLabelElimination +Updating BasicUpstart to call main directly +Removing instruction jsr main +Succesful ASM optimization Pass5SkipBegin +Removing instruction jmp b1 +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction bbegin: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @1 +(label) @begin +(label) @end +(void()) main() +(byte~) main::$1 reg byte a 22.0 +(label) main::@1 +(label) main::@return +(byte*) main::SCREEN +(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400 +(byte) main::i +(byte) main::i#1 reg byte x 16.5 +(byte) main::i#2 reg byte x 8.25 +(signed word) main::w +(signed word) main::w#1 w zp ZP_WORD:2 6.6000000000000005 +(signed word) main::w#2 w zp ZP_WORD:2 22.0 + +zp ZP_WORD:2 [ main::w#2 main::w#1 ] +reg byte x [ main::i#2 main::i#1 ] +reg byte a [ main::$1 ] + + +FINAL ASSEMBLER +Score: 431 + +//SEG0 File Comments +// Tests that mixing types can synthesize a fragment correctly +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG2 Global Constants & labels +//SEG3 @begin +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +//SEG5 @1 +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +//SEG9 @end +//SEG10 main +main: { + .label SCREEN = $400 + .label w = 2 + //SEG11 [5] phi from main to main::@1 [phi:main->main::@1] + //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG13 [5] phi (signed word) main::w#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vwsz1=vbuc1 + txa + sta w + sta w+1 + //SEG14 [5] phi from main::@1 to main::@1 [phi:main::@1->main::@1] + //SEG15 [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@1->main::@1#0] -- register_copy + //SEG16 [5] phi (signed word) main::w#2 = (signed word) main::w#1 [phi:main::@1->main::@1#1] -- register_copy + //SEG17 main::@1 + b1: + //SEG18 [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c -- vwsz1=vwsz1_minus_vbuc1 + lda w + sec + sbc #<$c + sta w + lda w+1 + sbc #>$c + sta w+1 + //SEG19 [7] (byte~) main::$1 ← < (signed word) main::w#1 -- vbuaa=_lo_vwsz1 + lda w + //SEG20 [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 -- pbuc1_derefidx_vbuxx=vbuaa + sta SCREEN,x + //SEG21 [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx + //SEG22 [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + cpx #$b + bne b1 + //SEG23 main::@return + //SEG24 [11] return + rts +} + diff --git a/src/test/ref/type-mix.sym b/src/test/ref/type-mix.sym new file mode 100644 index 000000000..b980bdd24 --- /dev/null +++ b/src/test/ref/type-mix.sym @@ -0,0 +1,19 @@ +(label) @1 +(label) @begin +(label) @end +(void()) main() +(byte~) main::$1 reg byte a 22.0 +(label) main::@1 +(label) main::@return +(byte*) main::SCREEN +(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400 +(byte) main::i +(byte) main::i#1 reg byte x 16.5 +(byte) main::i#2 reg byte x 8.25 +(signed word) main::w +(signed word) main::w#1 w zp ZP_WORD:2 6.6000000000000005 +(signed word) main::w#2 w zp ZP_WORD:2 22.0 + +zp ZP_WORD:2 [ main::w#2 main::w#1 ] +reg byte x [ main::i#2 main::i#1 ] +reg byte a [ main::$1 ]