diff --git a/src/main/fragment/mos6502-common/_deref_pwuc1=_deref_pwuz1.asm b/src/main/fragment/mos6502-common/_deref_pwuc1=_deref_pwuz1.asm new file mode 100644 index 000000000..c3e589b96 --- /dev/null +++ b/src/main/fragment/mos6502-common/_deref_pwuc1=_deref_pwuz1.asm @@ -0,0 +1,6 @@ +ldy #0 +lda ({z1}),y +sta {c1} +iny +lda ({z1}),y +sta {c1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_0_then_la1.asm b/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_0_then_la1.asm new file mode 100644 index 000000000..08243e668 --- /dev/null +++ b/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_0_then_la1.asm @@ -0,0 +1,5 @@ +lda ({z1}),y +bne {la1} +iny +lda ({z1}),y +bne {la1} diff --git a/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_vwuc1_then_la1.asm b/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_vwuc1_then_la1.asm new file mode 100644 index 000000000..be5279a1e --- /dev/null +++ b/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_vwuc1_then_la1.asm @@ -0,0 +1,7 @@ +lda ({z1}),y +cmp #<{c1} +bne {la1} +iny +lda ({z1}),y +cmp #>{c1} +bne {la1} diff --git a/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_vwum2_then_la1.asm b/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_vwum2_then_la1.asm new file mode 100644 index 000000000..c98853991 --- /dev/null +++ b/src/main/fragment/mos6502-common/pwuz1_derefidx_vbuyy_neq_vwum2_then_la1.asm @@ -0,0 +1,7 @@ +lda ({z1}),y +cmp {m2} +bne {la1} +iny +lda ({z1}),y +cmp {m2}+1 +bne {la1} diff --git a/src/main/fragment/mos6502-common/vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1.asm b/src/main/fragment/mos6502-common/vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1.asm new file mode 100644 index 000000000..55a2a70a6 --- /dev/null +++ b/src/main/fragment/mos6502-common/vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1.asm @@ -0,0 +1,3 @@ +sec +lda ({z1}),y +sbc #{c1} \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2.asm b/src/main/fragment/mos6502-common/vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2.asm new file mode 100644 index 000000000..13a8edef7 --- /dev/null +++ b/src/main/fragment/mos6502-common/vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2.asm @@ -0,0 +1,3 @@ +sec +lda ({z1}),y +sbc {m2} \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vbuaa=vbuaa_bxor_vbuxx.asm b/src/main/fragment/mos6502-common/vbuaa=vbuaa_bxor_vbuxx.asm new file mode 100644 index 000000000..d1e807eb9 --- /dev/null +++ b/src/main/fragment/mos6502-common/vbuaa=vbuaa_bxor_vbuxx.asm @@ -0,0 +1,2 @@ +stx $ff +eor $ff \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwum1=pwuc1_derefidx_vbuxx_plus_vbuaa.asm b/src/main/fragment/mos6502-common/vwum1=pwuc1_derefidx_vbuxx_plus_vbuaa.asm new file mode 100644 index 000000000..70ec17c85 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=pwuc1_derefidx_vbuxx_plus_vbuaa.asm @@ -0,0 +1,6 @@ +clc +adc {c1},x +sta {m1} +lda {c1}+1,x +adc #0 +sta {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwum1=pwuc1_derefidx_vbuyy_plus_vbuaa.asm b/src/main/fragment/mos6502-common/vwum1=pwuc1_derefidx_vbuyy_plus_vbuaa.asm new file mode 100644 index 000000000..02b7a26e5 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=pwuc1_derefidx_vbuyy_plus_vbuaa.asm @@ -0,0 +1,6 @@ +clc +adc {c1},y +sta {m1} +lda {c1}+1,y +adc #0 +sta {m1}+1 \ No newline at end of file diff --git a/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuaa.asm b/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuaa.asm new file mode 100644 index 000000000..0d28a344f --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuaa.asm @@ -0,0 +1,3 @@ +sta {m1} +lda #>{c1} +sta {m1}+1 diff --git a/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuxx.asm b/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuxx.asm new file mode 100644 index 000000000..5b98fa10f --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuxx.asm @@ -0,0 +1,3 @@ +stx {m1} +ldx #>{c1} +stx {m1}+1 diff --git a/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuyy.asm b/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuyy.asm new file mode 100644 index 000000000..4ad01f941 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwuc1_setlo_vbuyy.asm @@ -0,0 +1,3 @@ +sty {m1} +ldy #>{c1} +sty {m1}+1 diff --git a/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuaa.asm b/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuaa.asm new file mode 100644 index 000000000..0641889fd --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuaa.asm @@ -0,0 +1,3 @@ +sta {m1}+1 +lda {m2} +sta {m1} diff --git a/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuxx.asm b/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuxx.asm new file mode 100644 index 000000000..feb8085ad --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuxx.asm @@ -0,0 +1,3 @@ +stx {m1}+1 +ldx {m2} +stx {m1} diff --git a/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuyy.asm b/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuyy.asm new file mode 100644 index 000000000..0f5bffe40 --- /dev/null +++ b/src/main/fragment/mos6502-common/vwum1=vwum2_sethi_vbuyy.asm @@ -0,0 +1,3 @@ +sty {m1}+1 +ldy {m2} +sty {m1} diff --git a/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log b/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log index 89013650b..32361320f 100644 --- a/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log +++ b/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log @@ -147,7 +147,10 @@ synthesized _deref_pbuc1=vbuaa_bor_vbuc1 < _deref_pbuc1=vbuc1_bor_vbuaa < vbuaa= synthesized _deref_pbuc1=vbuaa_bxor_vbuc2 < _deref_pbuc1=vbuc2_bxor_vbuaa < vbuaa=vbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:6.0 eor #{c2} sta {c1} -CANNOT SYNTHESIZE _deref_pbuc1=vbuxx_bxor_vbuaa +synthesized _deref_pbuc1=vbuxx_bxor_vbuaa < _deref_pbuc1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A cycles:10.0 + stx $ff + eor $ff + sta {c1} synthesized _deref_pbuc1=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A cycles:6.0 lda #0 sta {c1} @@ -1580,12 +1583,11 @@ synthesized _deref_pbuc1=pbuz1_derefidx_vbuaa_bxor_vbuc1 < _deref_pbuc1=pbuz1_de lda #{c1} eor ({z1}),y sta {c1} -synthesized _deref_pbuc1=pbuz1_derefidx_vbuaa_minus_vbuc2 < _deref_pbuc1=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:17.5 +synthesized _deref_pbuc1=pbuz1_derefidx_vbuaa_minus_vbuc2 < _deref_pbuc1=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:15.5 tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} sta {c1} synthesized _deref_pbuc1=pbuz1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:17.5 stx $ff @@ -1817,13 +1819,12 @@ synthesized _deref_pbuc1=pbuz1_derefidx_vbuxx_bxor_vbuc1 < _deref_pbuc1=vbuc1_bx lda #{c1} eor ({z1}),y sta {c1} -synthesized _deref_pbuc1=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:19.5 +synthesized _deref_pbuc1=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:17.5 txa tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} sta {c1} synthesized _deref_pbuc1=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A cycles:13.5 eor #$ff @@ -2335,12 +2336,11 @@ synthesized _deref_pbuc1=pbuz1_derefidx_vbuc1_bxor_vbuyy < _deref_pbuc1=pbuz1_de eor ({z1}),y sta {c1} CANNOT SYNTHESIZE _deref_pbuc1=pbuz1_derefidx_vbuc1_minus_vbuz1 -synthesized _deref_pbuc1=pbuz1_derefidx_vbuc1_minus_vbuz2 < _deref_pbuc1=pbuz1_derefidx_vbuc1_minus_vbum2 < _deref_pbuc1=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:18.5 - lda {z2} +synthesized _deref_pbuc1=pbuz1_derefidx_vbuc1_minus_vbuz2 < _deref_pbuc1=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:16.5 ldy #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1} synthesized _deref_pbuc1=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < _deref_pbuc1=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbuc1_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:21.0 ldy #0 @@ -2546,12 +2546,11 @@ synthesized _deref_pbuc1=pbuz1_derefidx_vbuc2_bxor_vbuz1 < _deref_pbuc1=vbuz1_bx lda ({z1}),y eor {z1} sta {c1} -synthesized _deref_pbuc1=pbuz1_derefidx_vbuc2_minus_vbuz2 < _deref_pbuc1=pbuz1_derefidx_vbuc2_minus_vbum2 < _deref_pbuc1=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:18.5 - lda {z2} +synthesized _deref_pbuc1=pbuz1_derefidx_vbuc2_minus_vbuz2 < _deref_pbuc1=pbuz1_derefidx_vbuc2_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:16.5 ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1} synthesized _deref_pbuc1=pbuz1_derefidx_vbuc2_plus__deref_pbuz1 < _deref_pbuc1=_deref_pbuz1_plus_pbuz1_derefidx_vbuc2 < vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuc2 < vbuaa=pbuz1_derefidx_vbuc2_plus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbuc2_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuc2 < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:21.0 ldy #0 @@ -2792,12 +2791,11 @@ synthesized _deref_pbuc1=pbuz1_derefidx_vbuc2_bxor_vbuc2 < _deref_pbuc1=vbuc2_bx ldy #{c2} eor ({z1}),y sta {c1} -synthesized _deref_pbuc1=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:17.5 - lda #{c3} +synthesized _deref_pbuc1=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:15.5 ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c3} sta {c1} synthesized _deref_pbuc1=pbuc1_derefidx_vbuaa_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuaa_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A X cycles:12.5 tax diff --git a/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log b/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log index 1d5b328f3..5f9ea00f8 100644 --- a/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log +++ b/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log @@ -132,7 +132,11 @@ synthesized _deref_pbuz1=vbuaa_bxor_vbuc1 < _deref_pbuz1=vbuc1_bxor_vbuaa < vbua eor #{c1} ldy #0 sta ({z1}),y -CANNOT SYNTHESIZE _deref_pbuz1=vbuxx_bxor_vbuaa +synthesized _deref_pbuz1=vbuxx_bxor_vbuaa < _deref_pbuz1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:14.0 + stx $ff + eor $ff + ldy #0 + sta ({z1}),y synthesized _deref_pbuz1=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A Y cycles:10.0 lda #0 ldy #0 @@ -1637,12 +1641,11 @@ synthesized _deref_pbuz1=pbuz1_derefidx_vbuaa_minus_pbuc1_derefidx_vbuc2 < vbuaa adc ({z1}),y ldy #0 sta ({z1}),y -synthesized _deref_pbuz1=pbuz1_derefidx_vbuaa_minus_vbuc1 < _deref_pbuz1=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:21.5 +synthesized _deref_pbuz1=pbuz1_derefidx_vbuaa_minus_vbuc1 < _deref_pbuz1=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:19.5 tay - lda #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c1} ldy #0 sta ({z1}),y synthesized _deref_pbuz1=pbuz1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:21.5 @@ -1955,11 +1958,10 @@ synthesized _deref_pbuz1=pbuz1_derefidx_vbuyy_minus_pbuc1_derefidx_vbuc2 < vbuaa adc ({z1}),y ldy #0 sta ({z1}),y -synthesized _deref_pbuz1=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:19.5 - lda #{c1} - eor #$ff +synthesized _deref_pbuz1=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:17.5 sec - adc ({z1}),y + lda ({z1}),y + sbc #{c1} ldy #0 sta ({z1}),y CANNOT SYNTHESIZE _deref_pbuz1=pbuz1_derefidx_vbuz1_plus_vbuaa @@ -2207,12 +2209,11 @@ synthesized _deref_pbuz1=pbuz1_derefidx_vbuc1_bxor_vbuyy < _deref_pbuz1=vbuyy_bx ldy #0 sta ({z1}),y CANNOT SYNTHESIZE _deref_pbuz1=pbuz1_derefidx_vbuc1_minus_vbuz1 -synthesized _deref_pbuz1=pbuz1_derefidx_vbuc1_minus_vbuz2 < _deref_pbuz1=pbuz1_derefidx_vbuc1_minus_vbum2 < _deref_pbuz1=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:22.5 - lda {z2} +synthesized _deref_pbuz1=pbuz1_derefidx_vbuc1_minus_vbuz2 < _deref_pbuz1=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:20.5 ldy #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} ldy #0 sta ({z1}),y synthesized _deref_pbuz1=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < _deref_pbuz1=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbuc1_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:25.0 @@ -2701,13 +2702,12 @@ synthesized _deref_pbuz1=pbuz2_derefidx_vbuxx_bxor_vbuz1 < _deref_pbuz1=pbuz2_de ldy #0 sta ({z1}),y CANNOT SYNTHESIZE _deref_pbuz1=pbuz2_derefidx_vbuxx_minus_vbuz2 -synthesized _deref_pbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuaa_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbum3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:24.5 +synthesized _deref_pbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuaa_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:22.5 txa tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy #0 sta ({z1}),y synthesized _deref_pbuz1=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < vbuaa=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < vbuaa=_deref_pbuz1_plus_pbuz2_derefidx_vbuxx < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuxx < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:29.0 @@ -2983,11 +2983,10 @@ synthesized _deref_pbuz1=pbuz2_derefidx_vbuyy_bxor_vbuz2 < _deref_pbuz1=vbuz2_bx eor {z2} ldy #0 sta ({z1}),y -synthesized _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbum3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:20.5 - lda {z3} - eor #$ff +synthesized _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:18.5 sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy #0 sta ({z1}),y synthesized _deref_pbuz1=pbuz2_derefidx_vbuyy_plus__deref_pbuz1 < _deref_pbuz1=pbuz2_derefidx_vbuaa_plus__deref_pbuz1 < _deref_pbuz1=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < vbuaa=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < vbuaa=_deref_pbuz1_plus_pbuz2_derefidx_vbuxx < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuxx < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:33.0 @@ -3208,12 +3207,11 @@ synthesized _deref_pbuz1=pbuz2_derefidx_vbuz1_bxor_vbuz2 < vbuaa=pbuz2_derefidx_ eor {z2} ldy #0 sta ({z1}),y -synthesized _deref_pbuz1=pbuz2_derefidx_vbuz1_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuz1_minus_vbum3 < _deref_pbuz1=pbuz2_derefidx_vbuz1_minus_vbuaa < vbuaa=pbuz2_derefidx_vbuz1_minus_vbuaa < vbuaa=pbuz2_derefidx_vbum1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:23.5 - lda {z3} +synthesized _deref_pbuz1=pbuz2_derefidx_vbuz1_minus_vbuz3 < _deref_pbuz1=pbuz2_derefidx_vbuz1_minus_vbum3 < vbuaa=pbuz2_derefidx_vbuz1_minus_vbum3 < vbuaa=pbuz2_derefidx_vbum1_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:21.5 ldy {z1} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy #0 sta ({z1}),y synthesized _deref_pbuz1=pbuz2_derefidx_vbuz1_minus__deref_pbuz1 < vbuaa=pbuz2_derefidx_vbuz1_minus__deref_pbuz1 < vbuaa=pbuz2_derefidx_vbuz1_minus_vbuaa < vbuaa=pbuz2_derefidx_vbum1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.0 @@ -3489,12 +3487,11 @@ synthesized _deref_pbuz1=pbuz2_derefidx_vbuz3_bxor_vbuz3 < _deref_pbuz1=pbuz2_de eor ({z2}),y ldy #0 sta ({z1}),y -synthesized _deref_pbuz1=pbuz2_derefidx_vbuz3_minus_vbuz4 < _deref_pbuz1=pbuz2_derefidx_vbum3_minus_vbuz4 < _deref_pbuz1=pbuz2_derefidx_vbum3_minus_vbum4 < _deref_pbuz1=pbuz2_derefidx_vbum3_minus_vbuaa < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:23.5 - lda {z4} +synthesized _deref_pbuz1=pbuz2_derefidx_vbuz3_minus_vbuz4 < _deref_pbuz1=pbuz2_derefidx_vbum3_minus_vbuz4 < _deref_pbuz1=pbuz2_derefidx_vbum3_minus_vbum4 < _deref_pbuz1=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:21.5 ldy {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z4} ldy #0 sta ({z1}),y synthesized _deref_pbuz1=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < _deref_pbuz1=pbuz2_derefidx_vbum3_minus__deref_pbuz1 < vbuaa=pbuz2_derefidx_vbum3_minus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbum2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.0 diff --git a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuaa.log b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuaa.log index c90ae5bcb..9d625f48e 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuaa.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuaa.log @@ -316,7 +316,12 @@ synthesized pbuc1_derefidx_vbuaa=vbuaa_bxor_vbuc2 < pbuc1_derefidx_vbuyy=vbuyy_b tya eor #{c2} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuaa=vbuxx_bxor_vbuaa +synthesized pbuc1_derefidx_vbuaa=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuaa=vbuaa_bxor_vbuxx < pbuc1_derefidx_vbuyy=vbuyy_bxor_vbuxx < pbuc1_derefidx_vbuyy=vbuyy_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuyy < vbuaa=vbuaa_bxor_vbuyy - clobber:A Y cycles:15.0 + tay + txa + sty $ff + eor $ff + sta {c1},y synthesized pbuc1_derefidx_vbuaa=vbuxx_minus_vbuxx < pbuc1_derefidx_vbuyy=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A Y cycles:9.0 tay lda #0 @@ -2994,12 +2999,11 @@ synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuc1 < pbuc1_derefid lda #{c1} eor ({z1}),y sta {c1},y -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:18.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:16.5 tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} sta {c1},y synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuxx_plus_vbuaa < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbuxx < pbuc1_derefidx_vbuxx=vbuxx_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuaa_plus_pbuz1_derefidx_vbuyy < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:22.5 stx $ff @@ -3512,25 +3516,23 @@ synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuxx_bxor_vbuc1 < pbuc1_derefid eor ({z1}),y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:24.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A X Y cycles:22.5 stx $ff ldy $ff tax - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} sta {c1},x -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:26.5 tay sty $ff txa tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuxx < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X cycles:18.5 @@ -4429,23 +4431,21 @@ synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_bxor_vbuyy < pbuc1_derefid eor ({z1}),y sta {c1},x CANNOT SYNTHESIZE pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz1 -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:21.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A X Y cycles:19.5 tax - lda {z2} ldy #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1},x -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbum2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:27.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:25.5 tay - lda {z2} sty $ff ldy #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < pbuc1_derefidx_vbuxx=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < pbuc1_derefidx_vbuxx=vbuaa_plus_pbuz1_derefidx_vbuc1 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:24.0 @@ -4940,23 +4940,21 @@ synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefid eor {z1} ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:21.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A X Y cycles:19.5 ldy #{c2} tax - lda {z2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1},x -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:27.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:25.5 tay - lda {z2} sty $ff ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_plus__deref_pbuz1 < pbuc1_derefidx_vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuc2 < pbuc1_derefidx_vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=_deref_pbuz1_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbuyy_plus__deref_pbuz1 < vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuyy < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A X Y cycles:24.0 @@ -5532,23 +5530,21 @@ synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_bxor_vbuc2 < pbuc1_derefid eor ({z1}),y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:20.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A X Y cycles:18.5 ldy #{c2} tax - lda #{c3} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c3} sta {c1},x -synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:26.5 +synthesized pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:24.5 tay - lda #{c3} sty $ff ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c3} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuaa=pbuc1_derefidx_vbuaa_plus_vbuaa < pbuc1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_plus_vbuxx < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_plus_vbuxx < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_plus_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_plus_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:17.5 diff --git a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuxx.log b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuxx.log index 58d1e7e9f..96dd187ce 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuxx.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuxx.log @@ -173,7 +173,10 @@ synthesized pbuc1_derefidx_vbuxx=vbuaa_bor_vbuc1 < pbuc1_derefidx_vbuxx=vbuc1_bo synthesized pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuc2 < pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuaa < vbuaa=vbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:7.0 eor #{c2} sta {c1},x -CANNOT SYNTHESIZE pbuc1_derefidx_vbuxx=vbuxx_bxor_vbuaa +synthesized pbuc1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A cycles:11.0 + stx $ff + eor $ff + sta {c1},x synthesized pbuc1_derefidx_vbuxx=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A cycles:7.0 lda #0 sta {c1},x @@ -1786,12 +1789,11 @@ synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bxor_vbuc1 < pbuc1_derefid lda #{c1} eor ({z1}),y sta {c1},x -synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:18.5 +synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:16.5 tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} sta {c1},x synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_plus_vbuaa < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5 stx $ff @@ -2023,13 +2025,12 @@ synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuc1 < pbuc1_derefid lda #{c1} eor ({z1}),y sta {c1},x -synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:20.5 +synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:18.5 txa tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} sta {c1},x synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A cycles:14.5 eor #$ff @@ -2580,12 +2581,11 @@ synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_bxor_vbuyy < pbuc1_derefid eor ({z1}),y sta {c1},x CANNOT SYNTHESIZE pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuz1 -synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:19.5 - lda {z2} +synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:17.5 ldy #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1},x synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < pbuc1_derefidx_vbuxx=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < pbuc1_derefidx_vbuxx=vbuaa_plus_pbuz1_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:22.0 ldy #0 @@ -2797,12 +2797,11 @@ synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefid lda ({z1}),y eor {z1} sta {c1},x -synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_minus_vbuaa < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:19.5 - lda {z2} +synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:17.5 ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1},x synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_plus__deref_pbuz1 < pbuc1_derefidx_vbuxx=_deref_pbuz1_plus_pbuz1_derefidx_vbuc2 < pbuc1_derefidx_vbuxx=vbuaa_plus_pbuz1_derefidx_vbuc2 < pbuc1_derefidx_vbuxx=vbuaa_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:22.0 ldy #0 @@ -3046,12 +3045,11 @@ synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_bxor_vbuc2 < pbuc1_derefid ldy #{c2} eor ({z1}),y sta {c1},x -synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:18.5 - lda #{c3} +synthesized pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:16.5 ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c3} sta {c1},x synthesized pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuaa_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuaa_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A X cycles:19.5 stx $ff diff --git a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuyy.log b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuyy.log index 9a9f9bff6..0facfbbec 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuyy.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuyy.log @@ -185,7 +185,10 @@ synthesized pbuc1_derefidx_vbuyy=vbuaa_bor_vbuc1 < pbuc1_derefidx_vbuyy=vbuc1_bo synthesized pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuc2 < pbuc1_derefidx_vbuyy=vbuc2_bxor_vbuaa < vbuaa=vbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:7.0 eor #{c2} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuyy=vbuxx_bxor_vbuaa +synthesized pbuc1_derefidx_vbuyy=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A cycles:11.0 + stx $ff + eor $ff + sta {c1},y synthesized pbuc1_derefidx_vbuyy=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A cycles:7.0 lda #0 sta {c1},y @@ -2359,14 +2362,13 @@ synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_bxor_vbuc1 < pbuc1_derefid eor ({z1}),y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:24.5 +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:22.5 sty $ff tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.5 @@ -2713,15 +2715,14 @@ synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_bxor_vbuc1 < pbuc1_derefid eor ({z1}),y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:26.5 +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:24.5 sty $ff txa tay - lda #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A cycles:14.5 @@ -3636,23 +3637,21 @@ synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_bxor_vbuyy < vbuaa=pbuz1_d ldy $ff sta {c1},y CANNOT SYNTHESIZE pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz1 -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:23.5 +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A X Y cycles:21.5 tya tax - lda {z2} ldy #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1},x -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbum2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:25.5 - lda {z2} +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:23.5 sty $ff ldy #{c1} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < pbuc1_derefidx_vbuxx=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < pbuc1_derefidx_vbuxx=vbuaa_plus_pbuz1_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:26.0 @@ -4134,23 +4133,21 @@ synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefid eor {z1} ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:23.5 +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A X Y cycles:21.5 tya ldy #{c2} tax - lda {z2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} sta {c1},x -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbum2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:25.5 - lda {z2} +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuz2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:23.5 sty $ff ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_plus__deref_pbuz1 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_plus__deref_pbuz1 < pbuc1_derefidx_vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuc2 < pbuc1_derefidx_vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=_deref_pbuz1_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbuyy_plus__deref_pbuz1 < vbuaa=_deref_pbuz1_plus_pbuz1_derefidx_vbuyy < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A X Y cycles:26.0 @@ -4726,23 +4723,21 @@ synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_bxor_vbuc2 < pbuc1_derefid eor ({z1}),y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:22.5 +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc3 < pbuc1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A X Y cycles:20.5 tya ldy #{c2} tax - lda #{c3} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c3} sta {c1},x -synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuc3 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:24.5 - lda #{c3} +synthesized pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc2_minus_vbuc3 < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:22.5 sty $ff ldy #{c2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc #{c3} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuaa_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuaa_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A X cycles:13.5 diff --git a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuz1.log b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuz1.log index c2e6a9af0..99feede2b 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuz1.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuz1.log @@ -47,7 +47,15 @@ synthesized pbuc1_derefidx_vbuz1=vbuaa_bor__deref_pbuc2 < pbuc1_derefidx_vbum1=v ldy {z1} ora {c2} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuxx +synthesized pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:27.5 + stx $ff + ldy $ff + tax + lda ({z1}),y + stx $ff + eor $ff + ldx {z1} + sta {c1},x CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 synthesized pbuc1_derefidx_vbuz1=vbuaa_minus_pbuz2_derefidx_vbuaa < pbuc1_derefidx_vbum1=vbuaa_minus_pbuz2_derefidx_vbuaa < pbuc1_derefidx_vbuxx=vbuaa_minus_pbuz1_derefidx_vbuaa < pbuc1_derefidx_vbuxx=vbuyy_minus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuyy_minus_vbuaa < vbuaa=vbuyy_minus_vbuaa - clobber:A X Y cycles:25.5 @@ -456,7 +464,15 @@ synthesized pbuc1_derefidx_vbuz1=vbuyy_bor_vbuz1 < pbuc1_derefidx_vbuz1=vbuaa_bo ldy {z1} ora {z1} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=vbuyy_bxor__deref_pbuz1 +synthesized pbuc1_derefidx_vbuz1=vbuyy_bxor__deref_pbuz1 < pbuc1_derefidx_vbuz1=vbuaa_bxor__deref_pbuz1 < pbuc1_derefidx_vbuz1=vbuxx_bxor__deref_pbuz1 < pbuc1_derefidx_vbuz1=_deref_pbuz1_bxor_vbuxx < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuxx < pbuc1_derefidx_vbum1=vbuaa_bxor_vbuxx < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:25.5 + tya + tax + ldy #0 + lda ({z1}),y + ldy {z1} + stx $ff + eor $ff + sta {c1},y synthesized pbuc1_derefidx_vbuz1=vbuyy_bxor__deref_pbuc1 < pbuc1_derefidx_vbum1=vbuyy_bxor__deref_pbuc1 < pbuc1_derefidx_vbuxx=vbuyy_bxor__deref_pbuc1 < pbuc1_derefidx_vbuxx=vbuaa_bxor__deref_pbuc1 < pbuc1_derefidx_vbuxx=_deref_pbuc1_bxor_vbuaa < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A X cycles:14.0 ldx {z1} tya @@ -467,7 +483,15 @@ synthesized pbuc1_derefidx_vbuz1=vbuyy_bxor__deref_pbuc1 < pbuc1_derefidx_vbuz1= ldy {z1} eor {c1} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuaa +synthesized pbuc1_derefidx_vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:27.5 + sty $ff + ldx $ff + tay + lda ({z1}),y + ldy {z1} + stx $ff + eor $ff + sta {c1},y synthesized pbuc1_derefidx_vbuz1=vbuyy_minus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuyy_minus_vbuaa < pbuc1_derefidx_vbum1=vbuyy_minus_vbuaa < pbuc1_derefidx_vbuxx=vbuyy_minus_vbuaa < vbuaa=vbuyy_minus_vbuaa - clobber:A X cycles:23.5 lda ({z1}),y ldx {z1} @@ -1197,7 +1221,13 @@ synthesized pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuc2 < pbuc1_derefidx_vbum1=vbuz2_b ldy {z1} eor {z2} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=_deref_pbuz1_bxor_vbuxx +synthesized pbuc1_derefidx_vbuz1=_deref_pbuz1_bxor_vbuxx < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuxx < pbuc1_derefidx_vbum1=vbuaa_bxor_vbuxx < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:21.5 + ldy #0 + lda ({z1}),y + ldy {z1} + stx $ff + eor $ff + sta {c1},y synthesized pbuc1_derefidx_vbuz1=_deref_pbuz1_minus_vbuz1 < pbuc1_derefidx_vbuz1=vbuaa_minus_vbuz1 < pbuc1_derefidx_vbum1=vbuaa_minus_vbum1 < pbuc1_derefidx_vbuyy=vbuaa_minus_vbum1 < vbuaa=vbuaa_minus_vbum1 - clobber:A Y cycles:20.5 ldy #0 lda ({z1}),y @@ -2400,8 +2430,27 @@ synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_bor_pbuz1_derefidx_vbuaa < ora $ff ldx {z1} sta {c1},x -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuz2 +synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:35.0 + tax + lda ({z1}),y + stx $ff + ldy $ff + tax + lda ({z1}),y + stx $ff + eor $ff + ldx {z1} + sta {c1},x +synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuz2 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuz2 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbum2 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbum2_bxor_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:32.0 + tay + lda ({z1}),y + ldy {z2} + tax + lda ({z1}),y + stx $ff + eor $ff + ldx {z1} + sta {c1},x CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_minus_pbuz1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_minus_pbuz2_derefidx_vbuxx CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_minus_pbuz2_derefidx_vbuz1 @@ -2846,7 +2895,13 @@ CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuz1_band_pbuc2_derefidx_ CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuz1_band_pbuc2_derefidx_vbuc1 CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuz1_bor_pbuc2_derefidx_vbuc3 CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuz1_bor_vbuc2 -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuxx +synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuxx < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuz2 < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbum2 < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:22.5 + ldy {z2} + lda ({z1}),y + ldy {z1} + stx $ff + eor $ff + sta {c1},y synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuz1 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbum2_bxor_vbuz1 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuz1 < pbuc1_derefidx_vbuz1=vbuz1_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuz1_bxor_vbuaa < pbuc1_derefidx_vbum1=vbum1_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbum1_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbum1 < vbuaa=vbuaa_bxor_vbum1 - clobber:A Y cycles:19.5 ldy {z2} lda ({z1}),y @@ -3092,7 +3147,17 @@ synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_bxor__deref_pbuc3 < pbuc1_ ldy {z1} eor {c3} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuxx +synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuxx < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_bxor_vbuaa < pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc2 < pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:33.0 + txa + tay + lda ({z1}),y + ldy #{c2} + tax + lda ({z1}),y + stx $ff + eor $ff + ldx {z1} + sta {c1},x CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_minus_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_minus_pbuz1_derefidx_vbuc1 synthesized pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_plus_pbuz1_derefidx_vbuc3 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc3_plus_pbuz1_derefidx_vbuc2 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc3_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuc3 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuc2 < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuc2_plus_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_plus_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_plus_vbuxx < pbuc1_derefidx_vbuz1=vbuxx_plus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_plus_vbuaa < pbuc1_derefidx_vbum1=vbuxx_plus_vbuaa < vbuaa=vbuxx_plus_vbuaa < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:33.0 @@ -3646,25 +3711,23 @@ synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuxx_bxor_vbuz1 < pbuc1_derefid eor ({z2}),y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuaa_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuaa_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuaa_minus_vbum3 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:24.5 +synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuaa_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuaa_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuaa_minus_vbum3 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A X Y cycles:22.5 txa ldx {z1} tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} sta {c1},x -synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuxx_minus_vbum3 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:30.5 +synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuxx_minus_vbum3 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:28.5 ldy {z1} sty $ff txa tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuxx_minus__deref_pbuz2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuxx_minus__deref_pbuz2 < vbuaa=pbuz1_derefidx_vbuxx_minus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:31.0 @@ -4342,23 +4405,21 @@ synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuyy_bxor_pbuc2_derefidx_vbuc3 eor {c2},y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X cycles:19.5 - lda #{c2} - eor #$ff - sec - adc ({z2}),y +synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A X cycles:17.5 ldx {z1} + sec + lda ({z2}),y + sbc #{c2} sta {c1},x -synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:29.5 +synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuaa_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:27.5 tya ldy {z1} sty $ff tay - lda #{c2} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc #{c2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1_minus_vbuxx < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum1_minus_vbuxx < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuxx < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:19.5 @@ -4590,12 +4651,11 @@ synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1_minus_pbuc2_derefidx_vbuc2 sec adc ({z2}),y sta {c1},y -synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1_minus_vbuc1 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum1_minus_vbuc1 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:19.5 +synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1_minus_vbuc1 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum1_minus_vbuc1 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:17.5 ldy {z1} - lda #{c1} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc #{c1} sta {c1},y CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz2_plus_vbuaa CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz2_plus_vbuyy @@ -5044,23 +5104,21 @@ synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz3_minus_pbuc2_derefidx_vbuc3 adc ({z2}),y ldy $ff sta {c1},y -synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum3_minus_vbuaa < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbum2_minus_vbuaa < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:22.5 - lda #{c2} +synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbum2_minus_vbuc2 < pbuc1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A X Y cycles:20.5 ldx {z1} ldy {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc #{c2} sta {c1},x -synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum3_minus_vbuaa < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbum2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbum2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.5 - lda #{c2} +synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbum2_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbum2_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:26.5 ldy {z1} sty $ff ldy {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc #{c2} ldy $ff sta {c1},y synthesized pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuc1_minus_vbuxx < pbuc1_derefidx_vbum1=pbuz2_derefidx_vbuc1_minus_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_minus_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:21.5 @@ -8772,13 +8830,13 @@ synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuyy_bxor__deref_pbuc2 < pbuc1_ ldy {z1} eor {c2} sta {c1},y -synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbum1=vbuaa_bxor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuaa_bxor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:26.0 - sty $ff - ldx $ff +synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuc1_derefidx_vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:26.0 + ldx {c2},y tay lda ({z1}),y ldy {z1} - eor {c2},x + stx $ff + eor $ff sta {c1},y synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuyy_minus_pbuz1_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuyy_minus_vbuaa < pbuc1_derefidx_vbum1=pbuc2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X cycles:28.0 lda ({z1}),y @@ -10278,14 +10336,12 @@ synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor_vbuxx < pbuc1_derefid eor {c2},x ldx {z1} sta {c1},x -synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor_vbuxx < pbuc1_derefidx_vbum1=pbuc2_derefidx_vbuc2_bxor_vbuxx < pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuc2_bxor_vbuxx < vbuaa=pbuc2_derefidx_vbuc2_bxor_vbuxx < vbuaa=pbuc1_derefidx_vbuc1_bxor_vbuxx < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuxx < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 - ldy {z1} - sty $ff - +synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor_vbuxx < pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuyy_bxor_vbuxx < pbuc1_derefidx_vbuz1=vbuxx_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuz1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:20.5 ldy #{c2} - txa - eor {c2},y - ldy $ff + lda {c2},y + ldy {z1} + stx $ff + eor $ff sta {c1},y synthesized pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbum1=pbuc2_derefidx_vbuc2_bxor_vbum1 < pbuc1_derefidx_vbum1=pbuc2_derefidx_vbuc2_bxor_vbuaa < pbuc1_derefidx_vbum1=pbuc2_derefidx_vbuxx_bxor_vbuaa < pbuc1_derefidx_vbum1=vbuaa_bxor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:17.5 lda {z1} diff --git a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuaa.log b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuaa.log index 225967c4b..08403fd6b 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuaa.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuaa.log @@ -69,7 +69,15 @@ synthesized pbuz1_derefidx_vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy < pbuz1_derefidx ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuaa_bor_pbuz1_derefidx_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuz2 +synthesized pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:28.5 + ldy {z2} + tax + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuaa=vbuaa_minus_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuaa=vbuaa_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:31.5 ldy #{c1} tax @@ -174,7 +182,11 @@ synthesized pbuz1_derefidx_vbuaa=vbuaa_bxor_vbuc1 < pbuz1_derefidx_vbuaa=vbuc1_b tay eor #{c1} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuxx_bxor_vbuaa +synthesized pbuz1_derefidx_vbuaa=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuaa=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:14.0 + tay + stx $ff + eor $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuaa=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A Y cycles:10.0 tay lda #0 @@ -201,7 +213,15 @@ synthesized pbuz1_derefidx_vbuaa=vbuxx_bor__deref_pbuc1 < pbuz1_derefidx_vbuaa=_ txa ora {c1} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuxx_bxor_pbuz1_derefidx_vbuaa +synthesized pbuz1_derefidx_vbuaa=vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:25.5 + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuxx_minus_pbuz1_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuxx_minus_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuxx_plus_pbuz1_derefidx_vbuz1 @@ -1410,7 +1430,15 @@ synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bor_vbuaa < pbuz1_derefidx ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx +synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:25.5 + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_minus_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_minus_vbuz1 synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_vbuz2 < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_plus_vbuz2 < pbuz1_derefidx_vbuyy=vbuz2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuz2_plus_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_plus_vbuz2 < vbuaa=vbuaa_plus_vbuz1 < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:24.5 @@ -1455,8 +1483,38 @@ synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bor_pbuz1_derefidx_vbuaa < ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy +synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:49.0 + stx $ff + ldy $ff + tax + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y +synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:43.0 + tax + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_minus_pbuz1_derefidx_vbuz1 synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_plus_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_plus_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuyy_plus_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_plus_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=vbuxx_plus_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_plus_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:48.0 ldy {z2} @@ -1700,7 +1758,14 @@ synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < pbuz1_derefidx ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_bxor_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_bxor_vbuyy +synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_bxor_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuyy < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuyy_bxor_vbuaa < vbuaa=vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuyy - clobber:A X Y cycles:25.5 + tax + lda ({z1}),y + stx $ff + sty $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_minus_vbuz1 synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_plus_vbuz2 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuz2_plus_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_plus_vbuz2 < vbuaa=vbuaa_plus_vbuz1 < vbuaa=vbuaa_plus_vbum1 - clobber:A X Y cycles:24.5 tax @@ -1879,7 +1944,22 @@ synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_bxor__deref_pbuc1 < pbuz1_ eor {c1} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuaa +synthesized pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:46.0 + ldy {z2} + tax + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_minus_pbuz1_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_plus_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_plus_pbuz1_derefidx_vbuz1 @@ -2368,14 +2448,13 @@ synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_bor_vbuyy < pbuz1_derefidx sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_bxor_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus_vbuz2 -synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.5 +synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:26.5 sta $ff txa tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 @@ -2613,12 +2692,11 @@ synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefid eor {z2} ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:24.5 +synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuz2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:22.5 sta $ff - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_plus__deref_pbuz1 @@ -2889,13 +2967,12 @@ synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuz3_bxor_vbuz3 < pbuz1_derefid eor ({z2}),y ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuz3_minus_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbum3_minus_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbum3_minus_vbum4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:27.5 +synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuz3_minus_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbum3_minus_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbum3_minus_vbum4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:25.5 ldy {z3} sta $ff - lda {z4} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z4} ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:34.0 diff --git a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuc1.log b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuc1.log index 78894fb80..3ad3721d3 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuc1.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuc1.log @@ -44,9 +44,29 @@ synthesized pbuz1_derefidx_vbuc1=vbuaa_bor__deref_pbuc2 < pbuz1_derefidx_vbuc1=_ ora {c2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuxx +synthesized pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:33.5 + stx $ff + ldy $ff + tax + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuc1 +synthesized pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:27.5 + ldy #{c1} + tax + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuc1=vbuaa_minus_pbuz2_derefidx_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_minus_pbuz2_derefidx_vbuaa < vbuaa=vbuaa_minus_pbuz1_derefidx_vbuaa < vbuaa=vbuyy_minus_pbuz1_derefidx_vbuyy < vbuaa=vbuyy_minus_vbuaa - clobber:A Y cycles:31.5 ldy #{c1} sty $ff @@ -119,7 +139,15 @@ synthesized pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuc2_derefidx_vbuc2 < pbuz1_derefid eor {c2},y ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuc1 +synthesized pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuc1 < pbuz1_derefidx_vbuc1=vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:22.0 + ldx #{c1} + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuc1=vbuxx_minus_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A Y cycles:24.0 ldy #{c1} sty $ff @@ -284,7 +312,18 @@ synthesized pbuz1_derefidx_vbuc1=vbuyy_bor_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_bo ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=vbuyy_bor_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=vbuyy_bxor__deref_pbuz1 +synthesized pbuz1_derefidx_vbuc1=vbuyy_bxor__deref_pbuz1 < pbuz1_derefidx_vbuc1=vbuaa_bxor__deref_pbuz1 < pbuz1_derefidx_vbuc1=vbuxx_bxor__deref_pbuz1 < pbuz1_derefidx_vbuc1=_deref_pbuz1_bxor_vbuxx < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:31.5 + tya + tax + ldy #0 + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuc1=vbuyy_bxor__deref_pbuc1 < pbuz1_derefidx_vbuc1=_deref_pbuc1_bxor_vbuyy < pbuz1_derefidx_vbuaa=_deref_pbuc1_bxor_vbuyy < pbuz1_derefidx_vbuaa=vbuyy_bxor__deref_pbuc1 < vbuaa=vbuyy_bxor__deref_pbuc1 < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y cycles:20.0 lda #{c1} sta $ff @@ -292,7 +331,18 @@ synthesized pbuz1_derefidx_vbuc1=vbuyy_bxor__deref_pbuc1 < pbuz1_derefidx_vbuc1= eor {c1} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=vbuyy_bxor_pbuz1_derefidx_vbuaa +synthesized pbuz1_derefidx_vbuc1=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:33.5 + sty $ff + ldx $ff + tay + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuc1=vbuyy_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuyy_minus_vbuaa < pbuz1_derefidx_vbuxx=vbuyy_minus_vbuaa < vbuaa=vbuyy_minus_vbuaa - clobber:A X Y cycles:29.5 lda ({z1}),y ldx #{c1} @@ -633,7 +683,16 @@ synthesized pbuz1_derefidx_vbuc1=vbuz2_bxor_vbuc2 < pbuz1_derefidx_vbuc1=vbum2_b lda #{c2} eor {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=_deref_pbuz1_bxor_vbuxx +synthesized pbuz1_derefidx_vbuc1=_deref_pbuz1_bxor_vbuxx < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:27.5 + ldy #0 + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=_deref_pbuz1_minus_vbuz1 synthesized pbuz1_derefidx_vbuc1=_deref_pbuz1_minus__deref_pbuz1 < pbuz1_derefidx_vbuc1=_deref_pbuz1_minus_vbuaa < pbuz1_derefidx_vbuc1=_deref_pbuz1_minus_vbuxx < pbuz1_derefidx_vbuc1=vbuaa_minus_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_minus_vbuxx < vbuaa=vbuaa_minus_vbuxx - clobber:A X Y cycles:39.0 ldy #0 @@ -1458,8 +1517,33 @@ synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_bor_pbuz1_derefidx_vbuaa < ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuz2 +synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:41.0 + tax + lda ({z1}),y + stx $ff + ldy $ff + tax + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y +synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbum2_bxor_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:38.0 + tay + lda ({z1}),y + ldy {z2} + tax + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_minus_pbuz1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_minus_pbuz2_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_minus_pbuz2_derefidx_vbuz1 @@ -1794,7 +1878,16 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz1_band_pbuc2_derefidx_ CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz1_band_pbuc2_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz1_bor_pbuc2_derefidx_vbuc3 CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz1_bor_vbuc2 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz2_bxor_vbuxx +synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz2_bxor_vbuxx < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:28.5 + ldy {z2} + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz2_bxor_vbuz1 synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbum2_bxor_vbuz3 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbum2_bxor_vbum3 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_vbum2 < pbuz1_derefidx_vbuc1=vbum2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbum2_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbum2 < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbum2 < pbuz1_derefidx_vbuyy=vbum2_bxor_vbuaa < vbuaa=vbum1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbum1 - clobber:A Y cycles:25.5 ldy {z2} @@ -1912,8 +2005,27 @@ synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz2_bor_pbuc2_derefidx_vbuc2 < ora {c2},y ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz2_bxor_vbuc1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_vbuaa +synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuz2_bxor_vbuc1 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbum2_bxor_vbuc1 < pbuz1_derefidx_vbuc1=vbuc1_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:30.5 + ldx #{c1} + ldy {z2} + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y +synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:27.5 + ldy #{c1} + tax + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_minus_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_minus_vbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_minus__deref_pbuz2 @@ -1993,7 +2105,17 @@ synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_pbuz2_derefidx_vbuc2 eor ({z2}),y ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_pbuc1_derefidx_vbuxx +synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuc1=pbuc1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:32.0 + lda {c1},x + ldy #{c1} + tax + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_bxor_pbuc1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_minus_pbuc1_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc1_minus_pbuc2_derefidx_vbuaa @@ -2077,7 +2199,20 @@ synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_bxor__deref_pbuc3 < pbuz1_ eor {c3} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuxx +synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuc2 < pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:39.0 + txa + tay + lda ({z1}),y + ldy #{c2} + tax + lda ({z1}),y + ldy #{c1} + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_minus_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_minus_pbuz1_derefidx_vbuc1 synthesized pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_plus_pbuz1_derefidx_vbuc3 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc3_plus_pbuz1_derefidx_vbuc2 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc3_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuc3 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuc2 < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuc2_plus_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_plus_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_plus_vbuxx < pbuz1_derefidx_vbuc1=vbuxx_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_plus_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_plus_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:39.0 @@ -2417,15 +2552,14 @@ synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuxx_bxor_vbuxx < pbuz1_derefid ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuxx_bxor_vbuz1 -synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuxx_minus_vbum3 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:30.5 +synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuxx_minus_vbum3 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:28.5 lda #{c1} sta $ff txa tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuxx_minus__deref_pbuz2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuxx_minus__deref_pbuz2 < vbuaa=pbuz1_derefidx_vbuxx_minus__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:37.0 @@ -2749,13 +2883,12 @@ synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuyy_bxor_pbuc2_derefidx_vbuc3 eor {c2},y ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:25.5 +synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:23.5 lda #{c1} sta $ff - lda #{c2} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc #{c2} ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuz1_minus_vbuxx @@ -3021,14 +3154,13 @@ synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuz3_minus_pbuc2_derefidx_vbuc3 adc ({z2}),y ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.5 +synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuz3_minus_vbuc2 < pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbum3_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc2 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuyy_minus_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuc1 - clobber:A Y cycles:26.5 lda #{c1} ldy {z3} sta $ff - lda #{c2} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc #{c2} ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuc1=pbuz2_derefidx_vbuc1_minus_vbuxx < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_minus_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:25.5 @@ -4302,15 +4434,15 @@ synthesized pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuyy_bxor__deref_pbuc2 < pbuz1_ eor {c2},y ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:32.0 - sty $ff - ldx $ff +synthesized pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_bxor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuc1=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuc1=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuc1=vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:32.0 + ldx {c2},y tay lda ({z1}),y ldy #{c1} sty $ff - eor {c2},x + stx $ff + eor $ff ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuyy_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuyy_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuc2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuc2_derefidx_vbuyy_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:34.0 diff --git a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuxx.log b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuxx.log index 4d0c86e0c..c974d5bb4 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuxx.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuxx.log @@ -128,7 +128,12 @@ synthesized pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuc1 < pbuz1_derefidx_vbuxx=vbuc1_b eor #{c1} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa +synthesized pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:18.0 + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuxx=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A Y cycles:14.0 stx $ff lda #0 @@ -163,7 +168,14 @@ synthesized pbuz1_derefidx_vbuxx=vbuxx_bor__deref_pbuc1 < pbuz1_derefidx_vbuaa=v tay ora {c1} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuaa +synthesized pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:25.5 + tay + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuxx=vbuxx_minus_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuxx_minus_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuxx=vbuxx_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A Y cycles:31.5 txa tay @@ -1398,7 +1410,14 @@ synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bor_vbuaa < pbuz1_derefidx ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bxor_vbuxx +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:25.5 + tay + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_vbuz1 synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_plus_vbuz2 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuz2_plus_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_plus_vbuz2 < vbuaa=vbuaa_plus_vbuz1 < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:24.5 @@ -1425,7 +1444,21 @@ synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_band__deref_pbuc1 < pbuz1_ ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bor_pbuz1_derefidx_vbuaa -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:43.0 + tay + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_minus_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuz2 @@ -1507,7 +1540,21 @@ synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bor_vbuz2 < pbuz1_derefidx ora {z2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor__deref_pbuz1 +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor__deref_pbuz1 < pbuz1_derefidx_vbuxx=_deref_pbuz1_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:43.0 + ldy #0 + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor__deref_pbuz2 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuaa_bxor__deref_pbuz2 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor__deref_pbuz2 < pbuz1_derefidx_vbuxx=_deref_pbuz2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=_deref_pbuz2_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor__deref_pbuz2 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:29.0 txa tay @@ -1567,7 +1614,21 @@ synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bor_pbuz1_derefidx_vbuz2 < ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuc1 +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:43.0 + ldy #{c1} + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz2_derefidx_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz2_derefidx_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz2_derefidx_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz2_derefidx_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_pbuz2_derefidx_vbuxx < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuz1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:41.0 tay txa @@ -1666,8 +1727,20 @@ synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_band_vbuc1 < pbuz1_derefid ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bor_vbuaa -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuyy +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:23.5 + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuyy < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuyy_bxor_vbuaa < vbuaa=vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuyy - clobber:A Y cycles:23.5 + lda ({z1}),y + stx $ff + sty $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_vbuz1 synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuz2_plus_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_plus_vbuz2 < vbuaa=vbuaa_plus_vbuz1 < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:22.5 lda ({z1}),y @@ -1690,7 +1763,20 @@ synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_band__deref_pbuc1 < pbuz1_ ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bor_pbuz1_derefidx_vbuaa -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:41.0 + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_minus_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuz2 @@ -1763,7 +1849,14 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz1_plus_pbuc1_derefidx_ CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz1_band_pbuc1_derefidx_vbuc2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz1_band_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz2_bor_vbuaa -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz2_bxor_vbuxx +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz2_bxor_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbum2_bxor_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:26.5 + ldy {z2} + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz2_bxor_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz2_minus_vbuz1 synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuz2_plus_vbuz2 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbum2_plus_vbum2 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbum2 < pbuz1_derefidx_vbuxx=vbum2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbum2_plus_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_plus_vbum2 < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:25.5 @@ -1910,7 +2003,21 @@ synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_band__deref_pbuc2 < pbuz1_ ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_bor_pbuz1_derefidx_vbuaa -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuxx +synthesized pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:43.0 + ldy #{c1} + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_minus_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuc1_plus_pbuz1_derefidx_vbuz2 @@ -2247,14 +2354,13 @@ synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_bor_vbuyy < pbuz1_derefidx sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_bxor_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_minus_vbuz2 -synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.5 +synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:26.5 stx $ff txa tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_plus_vbuaa < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_plus_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_plus_pbuz2_derefidx_vbuyy < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:33.0 @@ -2524,12 +2630,11 @@ synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefid eor {z2} ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbuz3 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbum3 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:24.5 - lda {z3} +synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbuz3 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:22.5 stx $ff - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_plus__deref_pbuz1 @@ -2800,13 +2905,12 @@ synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuz3_bxor_vbuz3 < pbuz1_derefid eor ({z2}),y ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuz3_minus_vbuz4 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbuz4 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbum4 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:27.5 - lda {z4} +synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuz3_minus_vbuz4 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbuz4 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbum4 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:25.5 ldy {z3} stx $ff - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z4} ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:32.0 diff --git a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuyy.log b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuyy.log index ca2183451..560f2c78a 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuyy.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuyy.log @@ -141,7 +141,13 @@ synthesized pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuc1 < pbuz1_derefidx_vbuyy=vbuc1_b eor #{c1} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa +synthesized pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:18.0 + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuyy=vbuxx_minus_vbuxx < pbuz1_derefidx_vbuaa=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A Y cycles:12.0 tya tay @@ -361,7 +367,16 @@ synthesized pbuz1_derefidx_vbuyy=vbuyy_bor_pbuz1_derefidx_vbuyy < pbuz1_derefidx ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuyy_bor_pbuz1_derefidx_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuyy_bxor_pbuz1_derefidx_vbuz2 +synthesized pbuz1_derefidx_vbuyy=vbuyy_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:30.5 + tya + ldy {z2} + tax + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuyy=vbuyy_minus_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuaa=vbuaa_minus_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuaa=vbuaa_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:33.5 tya ldy #{c1} @@ -1622,7 +1637,25 @@ synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_band__deref_pbuc1 < pbuz1_ sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_bor_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy +synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:53.0 + tax + tya + stx $ff + ldy $ff + tax + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_minus_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuc1 @@ -1808,8 +1841,22 @@ synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bor_vbuaa < pbuz1_derefidx ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuyy +synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:23.5 + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y +synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuyy < pbuz1_derefidx_vbuyy=vbuyy_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuyy < vbuaa=vbuaa_bxor_vbuyy - clobber:A Y cycles:23.5 + lda ({z1}),y + sty $ff + + sty $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_vbuz1 synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_plus_vbuz2 < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_plus_vbum2 < pbuz1_derefidx_vbuyy=vbum2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbum2_plus_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_plus_vbum2 < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:22.5 lda ({z1}),y @@ -1853,8 +1900,34 @@ synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bor_pbuz1_derefidx_vbuaa < ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuyy +synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuyy_bxor_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=vbuyy_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_bxor_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:51.0 + tya + stx $ff + ldy $ff + tax + lda ({z1}),y + tay + txa + sty $ff + ldx $ff + tay + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y +synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:31.0 + lda ({z1}),y + tax + lda ({z1}),y + sty $ff + + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_minus_pbuz1_derefidx_vbuz1 synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_plus_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_plus_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuaa_plus_vbuxx < pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuyy_plus_vbuxx < pbuz1_derefidx_vbuyy=vbuxx_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuxx_plus_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:50.0 tya @@ -1974,7 +2047,16 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz1_band_pbuc1_derefidx_ CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz1_band_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz2_bor_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz2_bxor_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz2_bxor_vbuyy +synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz2_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_bxor_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbum2_bxor_vbuaa < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:30.5 + tya + ldy {z2} + tax + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz2_minus_vbuz1 synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz2_plus_vbuz2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuz2_plus_vbuz2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbum2_plus_vbum2 < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuyy_plus_vbum2 < pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuyy_plus_vbum2 < pbuz1_derefidx_vbuxx=vbum2_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbum2_plus_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_plus_vbum2 < vbuaa=vbuaa_plus_vbum1 - clobber:A X Y cycles:29.5 tya @@ -2133,7 +2215,16 @@ synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuz2_band_vbuc1 < pbuz1_derefid sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_bor_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_bor_vbuxx -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_bxor_vbuyy +synthesized pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_bxor_vbuyy < pbuz1_derefidx_vbuaa=pbuz1_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:29.5 + tya + ldy #{c1} + tax + lda ({z1}),y + stx $ff + stx $ff + eor $ff + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_minus_vbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 @@ -2530,15 +2621,14 @@ synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_bor_vbuyy < vbuaa=pbuz1_de sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_bxor_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_minus_vbuz2 -synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:28.5 +synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_minus_vbuz3 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuaa_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:26.5 sty $ff txa tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 @@ -2801,13 +2891,12 @@ synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefid eor {z2} ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_minus_vbuz3 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_minus_vbum3 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:24.5 - lda {z3} +synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_minus_vbuz3 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:22.5 sty $ff - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy_plus__deref_pbuz1 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuaa_plus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx_plus_vbuaa < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:37.0 @@ -3134,14 +3223,13 @@ synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuz3_bxor_vbuz3 < pbuz1_derefid eor ({z2}),y ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuz3_minus_vbuz4 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbum3_minus_vbuz4 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbum3_minus_vbum4 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbum3_minus_vbuaa < vbuaa=pbuz1_derefidx_vbum2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:27.5 - lda {z4} +synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuz3_minus_vbuz4 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbum3_minus_vbuz4 < pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbum3_minus_vbum4 < vbuaa=pbuz1_derefidx_vbum2_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:25.5 sty $ff ldy {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z4} ldy $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbum3_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:36.0 diff --git a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz2.log b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz2.log index 693a5fc4d..0ecf5eb03 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz2.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz2.log @@ -29,9 +29,28 @@ synthesized pbuz1_derefidx_vbuz2=vbuaa_bor__deref_pbuz3 < pbuz1_derefidx_vbum2=v ora ({z3}),y ldy {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz1_derefidx_vbuaa -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz1_derefidx_vbuyy -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz1_derefidx_vbuz2 +synthesized pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuyy_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuyy_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuyy_bxor_vbuaa < vbuaa=vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuyy - clobber:A Y cycles:22.5 + tay + lda ({z1}),y + sty $ff + eor $ff + ldy {z2} + sta ({z1}),y +synthesized pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:22.5 + tax + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y +synthesized pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbum2=vbuaa_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbum2=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:25.5 + ldy {z2} + tax + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y synthesized pbuz1_derefidx_vbuz2=vbuaa_minus_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbum2=vbuaa_minus_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbum2=vbuaa_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:28.5 ldy #{c1} tax @@ -174,7 +193,21 @@ synthesized pbuz1_derefidx_vbuz2=vbuyy_bxor_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_b eor {z3} ldy {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuyy_bxor__deref_pbuz2 +synthesized pbuz1_derefidx_vbuz2=vbuyy_bxor__deref_pbuz2 < pbuz1_derefidx_vbum2=vbuyy_bxor__deref_pbum2 < pbuz1_derefidx_vbuaa=vbuyy_bxor__deref_pbum2 < pbuz1_derefidx_vbuaa=_deref_pbum2_bxor_vbuyy < vbuaa=_deref_pbum1_bxor_vbuyy < vbuaa=_deref_pbum1_bxor_vbuaa < vbuaa=_deref_pbum1_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:44.5 + lda {z2} + sta $ff + tya + tax + ldy {z2} + sty $fe + ldy {z2}+1 + sty $ff + ldy #0 + lda ($fe),y + stx $ff + eor $ff + ldy $ff + sta ({z1}),y synthesized pbuz1_derefidx_vbuz2=vbuyy_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bxor__deref_pbuc1 < pbuz1_derefidx_vbum2=vbuaa_bxor__deref_pbuc1 < pbuz1_derefidx_vbum2=_deref_pbuc1_bxor_vbuaa < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y cycles:15.0 tya eor {c1} @@ -288,19 +321,18 @@ synthesized pbuz1_derefidx_vbuz2=vbuz2_bor_vbuaa < pbuz1_derefidx_vbum2=vbum2_bo ora {z2} ldy $ff sta ({z1}),y -synthesized pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuyy < pbuz1_derefidx_vbum2=vbum2_bxor_vbuyy < pbuz1_derefidx_vbuaa=vbum2_bxor_vbuyy < pbuz1_derefidx_vbuaa=vbuyy_bxor_vbum2 < vbuaa=vbuyy_bxor_vbum1 < vbuaa=vbuaa_bxor_vbum1 - clobber:A Y cycles:20.0 +synthesized pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuyy < pbuz1_derefidx_vbum2=vbum2_bxor_vbuyy < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuyy < pbuz1_derefidx_vbum2=vbuyy_bxor_vbuaa < vbuaa=vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuyy - clobber:A Y cycles:18.0 lda {z2} - sta $ff - tya - eor {z2} - ldy $ff + sty $ff + eor $ff + ldy {z2} sta ({z1}),y -synthesized pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbum2=vbum2_bxor_vbum2 < pbuz1_derefidx_vbum2=vbuxx_bxor_vbum2 < pbuz1_derefidx_vbuaa=vbuxx_bxor_vbum2 < pbuz1_derefidx_vbuaa=vbum2_bxor_vbuxx < vbuaa=vbum1_bxor_vbuxx < vbuaa=vbum1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbum1 - clobber:A X Y cycles:19.0 +synthesized pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbum2=vbum2_bxor_vbum2 < pbuz1_derefidx_vbum2=vbuxx_bxor_vbum2 < pbuz1_derefidx_vbuaa=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuaa=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:20.0 ldx {z2} lda {z2} tay - txa - eor {z2} + stx $ff + eor $ff sta ({z1}),y synthesized pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbum2=vbum2_bxor_vbum2 < pbuz1_derefidx_vbum2=vbuaa_bxor_vbum2 < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbum2 < pbuz1_derefidx_vbuyy=vbum2_bxor_vbuaa < vbuaa=vbum1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbum1 - clobber:A Y cycles:21.0 lda {z2} @@ -593,7 +625,16 @@ synthesized pbuz1_derefidx_vbuz2=_deref_pbuz1_bxor__deref_pbuz3 < pbuz1_derefidx eor ({z3}),y ldy {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz1_bxor_pbuz1_derefidx_vbuaa +synthesized pbuz1_derefidx_vbuz2=_deref_pbuz1_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuz2=_deref_pbuz1_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=_deref_pbuz1_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=_deref_pbuz1_bxor_vbuaa < pbuz1_derefidx_vbum2=_deref_pbuz1_bxor_vbuxx < pbuz1_derefidx_vbum2=vbuxx_bxor__deref_pbuz1 < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:32.0 + tay + lda ({z1}),y + tax + ldy #0 + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y synthesized pbuz1_derefidx_vbuz2=_deref_pbuz1_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=_deref_pbuz1_minus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=_deref_pbuz1_minus_vbuaa < pbuz1_derefidx_vbum2=_deref_pbuz1_minus_vbuxx < pbuz1_derefidx_vbum2=vbuaa_minus_vbuxx < vbuaa=vbuaa_minus_vbuxx - clobber:A X Y cycles:32.0 lda ({z1}),y tax @@ -1335,7 +1376,17 @@ synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuxx_bor_vbuz2 < pbuz1_derefidx ora {z2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuxx_bxor__deref_pbuz1 +synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuxx_bxor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuaa_bxor__deref_pbuz1 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuaa_bxor__deref_pbuz1 < pbuz1_derefidx_vbum2=_deref_pbuz1_bxor_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbum2=_deref_pbuz1_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=_deref_pbuz1_bxor_vbuaa < pbuz1_derefidx_vbum2=_deref_pbuz1_bxor_vbuxx < pbuz1_derefidx_vbum2=vbuxx_bxor__deref_pbuz1 < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:34.0 + txa + tay + lda ({z1}),y + tax + ldy #0 + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuxx_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuaa_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuyy_bxor__deref_pbuz3 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor__deref_pbuz3 < pbuz1_derefidx_vbum2=_deref_pbuz3_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=_deref_pbuz3_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor__deref_pbuz3 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:26.0 txa tay @@ -1553,8 +1604,25 @@ synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bor_pbuz1_derefidx_vbuaa < ora $ff ldy {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuyy -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuz2 +synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum2_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbum2=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:31.0 + lda ({z1}),y + ldy {z2} + tax + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y +synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbum2 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum2_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbum2=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:34.0 + ldy {z2} + lda ({z1}),y + ldy {z2} + tax + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_minus_pbuz1_derefidx_vbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_minus_pbuz2_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_minus_pbuz2_derefidx_vbuz1 @@ -1599,7 +1667,14 @@ synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bxor_pbuc1_derefidx_vbuc2 eor {c1},y ldy {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz3_bxor_vbuaa +synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz3_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuz3_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum3_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_vbuxx < pbuz1_derefidx_vbum2=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:25.5 + ldy {z3} + tax + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz3_minus_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz3_minus_vbuz2 synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz3_plus_vbuz4 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuz3_plus_vbuz4 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum3_plus_vbuz4 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbum3_plus_vbum4 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_plus_vbum3 < pbuz1_derefidx_vbum2=vbum3_plus_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbum3_plus_vbuaa < vbuaa=vbum1_plus_vbuaa < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:22.5 @@ -1755,7 +1830,16 @@ synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuc1_bor_pbuz1_derefidx_vbuz3 < ora $ff ldy {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuc2 +synthesized pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuc2 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuc2 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuc2_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuc2 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=pbuz1_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_pbuz1_derefidx_vbuc1 < pbuz1_derefidx_vbum2=vbuaa_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_pbuz1_derefidx_vbuyy < pbuz1_derefidx_vbum2=vbuxx_bxor_vbuaa < pbuz1_derefidx_vbum2=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:32.0 + ldy #{c1} + lda ({z1}),y + ldy #{c2} + tax + lda ({z1}),y + stx $ff + eor $ff + ldy {z2} + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuc1_bxor_pbuz2_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuc1_bxor_pbuz2_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuc1_minus_pbuz2_derefidx_vbuz3 @@ -2290,11 +2374,10 @@ synthesized pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefid eor ({z3}),y ldy {z2} sta ({z1}),y -synthesized pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_minus_vbuz4 < pbuz1_derefidx_vbum2=pbuz3_derefidx_vbuyy_minus_vbuz4 < pbuz1_derefidx_vbum2=pbuz3_derefidx_vbuyy_minus_vbum4 < pbuz1_derefidx_vbum2=pbuz3_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:21.5 - lda {z4} - eor #$ff +synthesized pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_minus_vbuz4 < pbuz1_derefidx_vbum2=pbuz3_derefidx_vbuyy_minus_vbuz4 < pbuz1_derefidx_vbum2=pbuz3_derefidx_vbuyy_minus_vbum4 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:19.5 sec - adc ({z3}),y + lda ({z3}),y + sbc {z4} ldy {z2} sta ({z1}),y synthesized pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_minus__deref_pbuz2 < pbuz1_derefidx_vbum2=pbuz3_derefidx_vbuyy_minus__deref_pbum2 < pbuz1_derefidx_vbuaa=pbuz3_derefidx_vbuyy_minus__deref_pbum2 < vbuaa=pbuz2_derefidx_vbuyy_minus__deref_pbum1 < vbuaa=pbuz2_derefidx_vbuaa_minus__deref_pbum1 < vbuaa=pbuz2_derefidx_vbuxx_minus__deref_pbum1 < vbuaa=pbuz1_derefidx_vbuxx_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:54.0 diff --git a/src/test/ref/fragments-assignment-binary-vbuaa.log b/src/test/ref/fragments-assignment-binary-vbuaa.log index d91bffa94..4fee2bea3 100644 --- a/src/test/ref/fragments-assignment-binary-vbuaa.log +++ b/src/test/ref/fragments-assignment-binary-vbuaa.log @@ -6,7 +6,14 @@ synthesized vbuaa=vbuaa_band_vbuaa < vbuaa=vbuaa_band_vbuyy - clobber:A Y cycle tay sty $ff and $ff -CANNOT SYNTHESIZE vbuaa=vbuaa_bxor_vbuaa +synthesized vbuaa=vbuaa_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X cycles:8.0 + tax + stx $ff + eor $ff +synthesized vbuaa=vbuaa_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuyy - clobber:A Y cycles:8.0 + tay + sty $ff + eor $ff loaded vbuaa=vbuaa_band_vbuxx - clobber:A cycles:6.0 stx $ff and $ff @@ -130,7 +137,10 @@ synthesized vbuaa=vbuxx_plus_vbuaa < vbuaa=vbuaa_plus_vbuxx - clobber:A cycles stx $ff clc adc $ff -CANNOT SYNTHESIZE vbuaa=vbuxx_bxor_vbuxx +synthesized vbuaa=vbuxx_bxor_vbuxx < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A cycles:8.0 + txa + stx $ff + eor $ff synthesized vbuaa=vbuxx_band_vbuyy < vbuaa=vbuaa_band_vbuyy - clobber:A cycles:8.0 txa sty $ff @@ -2102,12 +2112,11 @@ synthesized vbuaa=pbuz1_derefidx_vbuz2_band_vbuz3 < vbuaa=pbuz1_derefidx_vbum2_b lda {z3} ldy {z2} and ({z1}),y -synthesized vbuaa=pbuz1_derefidx_vbuz2_minus_vbuz3 < vbuaa=pbuz1_derefidx_vbum2_minus_vbuz3 < vbuaa=pbuz1_derefidx_vbum2_minus_vbum3 < vbuaa=pbuz1_derefidx_vbum2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:15.5 - lda {z3} +synthesized vbuaa=pbuz1_derefidx_vbuz2_minus_vbuz3 < vbuaa=pbuz1_derefidx_vbum2_minus_vbuz3 < vbuaa=pbuz1_derefidx_vbum2_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:13.5 ldy {z2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z3} synthesized vbuaa=pbuz1_derefidx_vbuz2_bor__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbum2_bor__deref_pbuz1 < vbuaa=_deref_pbuz1_bor_pbuz1_derefidx_vbum2 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbum2 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:16.0 ldy #0 lda ({z1}),y diff --git a/src/test/ref/fragments-assignment-binary-vbuxx.log b/src/test/ref/fragments-assignment-binary-vbuxx.log index 35fc6866e..2b5a11660 100644 --- a/src/test/ref/fragments-assignment-binary-vbuxx.log +++ b/src/test/ref/fragments-assignment-binary-vbuxx.log @@ -1,11 +1,9 @@ synthesized vbuxx=vbuaa_band_vbuaa < vbuxx=vbuaa_band_vbuxx < vbuxx=vbuxx_band_vbuaa - clobber:X cycles:4.0 tax axs #0 -synthesized vbuxx=vbuaa_bxor_vbuaa < vbuxx=vbuaa_bxor_vbuxx < vbuxx=vbuyy_bxor_vbuxx < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:14.0 +synthesized vbuxx=vbuaa_bxor_vbuaa < vbuxx=vbuaa_bxor_vbuxx < vbuxx=vbuxx_bxor_vbuaa < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X cycles:10.0 tax - tay - sty $ff - txa + stx $ff eor $ff tax synthesized vbuxx=vbuaa_band_vbuxx < vbuxx=vbuxx_band_vbuaa - clobber:X cycles:2.0 @@ -149,11 +147,9 @@ synthesized vbuxx=vbuxx_plus_vbuaa < vbuxx=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_v clc adc $ff tax -synthesized vbuxx=vbuxx_bxor_vbuxx < vbuxx=vbuxx_bxor_vbuaa < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:14.0 - txa - tay - sty $ff +synthesized vbuxx=vbuxx_bxor_vbuxx < vbuaa=vbuxx_bxor_vbuxx < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A X cycles:10.0 txa + stx $ff eor $ff tax synthesized vbuxx=vbuxx_band_vbuyy < vbuxx=vbuxx_band_vbuaa - clobber:A X cycles:4.0 @@ -2261,12 +2257,11 @@ synthesized vbuxx=pbuz1_derefidx_vbuz2_band_vbuz3 < vbuxx=pbuz1_derefidx_vbum2_b ldy {z2} and ({z1}),y tax -synthesized vbuxx=pbuz1_derefidx_vbuz2_minus_vbuz3 < vbuxx=pbuz1_derefidx_vbum2_minus_vbuz3 < vbuxx=pbuz1_derefidx_vbum2_minus_vbum3 < vbuxx=pbuz1_derefidx_vbum2_minus_vbuaa < vbuxx=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A X Y cycles:17.5 - lda {z3} +synthesized vbuxx=pbuz1_derefidx_vbuz2_minus_vbuz3 < vbuxx=pbuz1_derefidx_vbum2_minus_vbuz3 < vbuxx=pbuz1_derefidx_vbum2_minus_vbum3 < vbuxx=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A X Y cycles:15.5 ldy {z2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z3} tax synthesized vbuxx=pbuz1_derefidx_vbuz2_bor__deref_pbuz1 < vbuxx=pbuz1_derefidx_vbum2_bor__deref_pbuz1 < vbuxx=_deref_pbuz1_bor_pbuz1_derefidx_vbum2 < vbuaa=_deref_pbuz1_bor_pbuz1_derefidx_vbum2 < vbuaa=pbuz1_derefidx_vbum2_bor__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbum2_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:18.0 ldy #0 diff --git a/src/test/ref/fragments-assignment-binary-vbuyy.log b/src/test/ref/fragments-assignment-binary-vbuyy.log index 9da596d9a..1a3d04803 100644 --- a/src/test/ref/fragments-assignment-binary-vbuyy.log +++ b/src/test/ref/fragments-assignment-binary-vbuyy.log @@ -3,7 +3,11 @@ synthesized vbuyy=vbuaa_band_vbuaa < vbuyy=vbuaa_band_vbuyy < vbuaa=vbuaa_band_v sty $ff and $ff tay -CANNOT SYNTHESIZE vbuyy=vbuaa_bxor_vbuaa +synthesized vbuyy=vbuaa_bxor_vbuaa < vbuyy=vbuaa_bxor_vbuyy < vbuaa=vbuaa_bxor_vbuyy - clobber:A Y cycles:10.0 + tay + sty $ff + eor $ff + tay synthesized vbuyy=vbuaa_band_vbuxx < vbuyy=vbuxx_band_vbuaa < vbuaa=vbuxx_band_vbuaa < vbuaa=vbuaa_band_vbuxx - clobber:A Y cycles:8.0 stx $ff and $ff @@ -139,7 +143,11 @@ synthesized vbuyy=vbuxx_plus_vbuaa < vbuyy=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_v clc adc $ff tay -CANNOT SYNTHESIZE vbuyy=vbuxx_bxor_vbuxx +synthesized vbuyy=vbuxx_bxor_vbuxx < vbuaa=vbuxx_bxor_vbuxx < vbuaa=vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:10.0 + txa + stx $ff + eor $ff + tay synthesized vbuyy=vbuxx_band_vbuyy < vbuyy=vbuaa_band_vbuyy < vbuaa=vbuaa_band_vbuyy - clobber:A Y cycles:10.0 txa sty $ff @@ -2266,12 +2274,11 @@ synthesized vbuyy=pbuz1_derefidx_vbuz2_band_vbuz3 < vbuyy=pbuz1_derefidx_vbum2_b ldy {z2} and ({z1}),y tay -synthesized vbuyy=pbuz1_derefidx_vbuz2_minus_vbuz3 < vbuyy=pbuz1_derefidx_vbum2_minus_vbuz3 < vbuyy=pbuz1_derefidx_vbum2_minus_vbum3 < vbuyy=pbuz1_derefidx_vbum2_minus_vbuaa < vbuyy=pbuz1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:17.5 - lda {z3} +synthesized vbuyy=pbuz1_derefidx_vbuz2_minus_vbuz3 < vbuyy=pbuz1_derefidx_vbum2_minus_vbuz3 < vbuyy=pbuz1_derefidx_vbum2_minus_vbum3 < vbuyy=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:15.5 ldy {z2} - eor #$ff sec - adc ({z1}),y + lda ({z1}),y + sbc {z3} tay synthesized vbuyy=pbuz1_derefidx_vbuz2_bor__deref_pbuz1 < vbuyy=pbuz1_derefidx_vbum2_bor__deref_pbuz1 < vbuyy=_deref_pbuz1_bor_pbuz1_derefidx_vbum2 < vbuaa=_deref_pbuz1_bor_pbuz1_derefidx_vbum2 < vbuaa=pbuz1_derefidx_vbum2_bor__deref_pbuz1 < vbuaa=pbuz1_derefidx_vbum2_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.0 ldy #0 diff --git a/src/test/ref/fragments-assignment-binary-vbuz1.log b/src/test/ref/fragments-assignment-binary-vbuz1.log index 11d889e91..e82c190eb 100644 --- a/src/test/ref/fragments-assignment-binary-vbuz1.log +++ b/src/test/ref/fragments-assignment-binary-vbuz1.log @@ -49,16 +49,13 @@ synthesized vbuz1=vbuaa_bor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bor_pbuz1_derefid ora $ff sta {z1} CANNOT SYNTHESIZE vbuz1=vbuaa_bor_pbuz1_derefidx_vbuz1 -synthesized vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuz2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbum2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:25.5 +synthesized vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuz2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbum2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:19.5 ldy {z2} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=vbuaa_minus_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_minus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_minus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_minus_vbuaa < vbum1=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:22.5 ldy #{c1} tax @@ -148,13 +145,10 @@ synthesized vbuz1=vbuaa_bor_pbuc1_derefidx_vbuc2 < vbum1=vbuaa_bor_pbuc1_derefid synthesized vbuz1=vbuaa_bxor_vbuc1 < vbum1=vbuaa_bxor_vbuc1 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:5.0 eor #{c1} sta {z1} -synthesized vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:15.0 - tay - sty $ff - txa +synthesized vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A cycles:9.0 + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=vbuxx_minus_vbuxx < vbum1=vbuxx_minus_vbuxx < vbuaa=vbuxx_minus_vbuxx - clobber:A cycles:5.0 lda #0 sta {z1} @@ -182,15 +176,12 @@ synthesized vbuz1=vbuxx_bor__deref_pbuc1 < vbuz1=vbuaa_bor__deref_pbuc1 < vbum1= txa ora {c1} sta {z1} -synthesized vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuaa < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:22.5 +synthesized vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuaa < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:16.5 tay lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=vbuxx_minus_pbuz1_derefidx_vbuxx < vbuz1=vbuxx_minus_pbuz1_derefidx_vbuaa < vbuz1=vbuxx_minus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_minus_vbuaa < vbum1=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A Y cycles:22.5 txa tay @@ -352,17 +343,14 @@ synthesized vbuz1=vbuyy_bor_pbuz1_derefidx_vbuyy < vbuz1=vbuyy_bor_vbuaa < vbum1 ora $ff sta {z1} CANNOT SYNTHESIZE vbuz1=vbuyy_bor_pbuz1_derefidx_vbuz1 -synthesized vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuz2 < vbuz1=vbuyy_bxor_pbuz1_derefidx_vbum2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbum2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:27.5 +synthesized vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuz2 < vbuz1=vbuyy_bxor_pbuz1_derefidx_vbum2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbum2 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:21.5 tya ldy {z2} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=vbuyy_minus_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_minus_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_minus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_minus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_minus_vbuaa < vbum1=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:24.5 tya ldy #{c1} @@ -848,18 +836,15 @@ synthesized vbuz1=_deref_pbuz1_bxor_vbuz2 < vbuz1=_deref_pbuz1_bxor_vbum2 < vbuz lda ({z1}),y eor {z2} sta {z1} -synthesized vbuz1=_deref_pbuz1_bxor__deref_pbuz1 < vbuz1=_deref_pbuz1_bxor_vbuaa < vbuz1=_deref_pbuz1_bxor_vbuxx < vbuz1=vbuxx_bxor__deref_pbuz1 < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:32.0 +synthesized vbuz1=_deref_pbuz1_bxor__deref_pbuz1 < vbuz1=_deref_pbuz1_bxor_vbuaa < vbuz1=_deref_pbuz1_bxor_vbuxx < vbuz1=vbuxx_bxor__deref_pbuz1 < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:26.0 ldy #0 lda ({z1}),y tax ldy #0 lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=_deref_pbuz1_minus__deref_pbuz2 < vbuz1=vbuaa_minus__deref_pbuz2 < vbum1=vbuaa_minus__deref_pbuz2 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:20.0 ldy #0 lda ({z1}),y @@ -888,30 +873,24 @@ synthesized vbuz1=_deref_pbuz1_band_pbuz1_derefidx_vbuyy < vbuz1=_deref_pbuz1_ba lda ({z1}),y sax {z1} CANNOT SYNTHESIZE vbuz1=_deref_pbuz1_bor_pbuz1_derefidx_vbuz1 -synthesized vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbuz2 < vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbum2 < vbuz1=pbuz1_derefidx_vbum2_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:33.0 +synthesized vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbuz2 < vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbum2 < vbuz1=pbuz1_derefidx_vbum2_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:27.0 ldy #0 lda ({z1}),y ldy {z2} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} -synthesized vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuc1_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuaa < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:32.0 + sta {z1} +synthesized vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuc1_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuaa < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:26.0 ldy #0 lda ({z1}),y ldy #{c1} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=_deref_pbuz1_minus_pbuz2_derefidx_vbuaa < vbuz1=_deref_pbuz1_minus_pbuz2_derefidx_vbuxx < vbuz1=vbuaa_minus_pbuz2_derefidx_vbuxx < vbuz1=vbuaa_minus_pbuz2_derefidx_vbuyy < vbum1=vbuaa_minus_pbuz2_derefidx_vbuyy < vbum1=vbuxx_minus_pbuz2_derefidx_vbuyy < vbuaa=vbuxx_minus_pbuz1_derefidx_vbuyy < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:36.0 tax ldy #0 @@ -1511,15 +1490,12 @@ synthesized vbuz1=pbuz1_derefidx_vbuaa_bor_vbuaa < vbuz1=vbuaa_bor_pbuz1_derefid sty $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuaa_bxor_vbuxx < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:22.5 +synthesized vbuz1=pbuz1_derefidx_vbuaa_bxor_vbuxx < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:16.5 tay lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuaa_minus_vbuyy CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuaa_minus_vbuz1 synthesized vbuz1=pbuz1_derefidx_vbuaa_plus_vbuz2 < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuz2 < vbuz1=vbuz2_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuz2_plus_vbuaa < vbuz1=vbuaa_plus_vbuz2 < vbum1=vbuaa_plus_vbuz2 < vbuaa=vbuaa_plus_vbuz1 < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:15.5 @@ -1547,32 +1523,26 @@ synthesized vbuz1=pbuz1_derefidx_vbuaa_bor_pbuz1_derefidx_vbuaa < vbuz1=pbuz1_de stx $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:36.0 +synthesized vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:30.0 tay lda ({z1}),y stx $ff ldy $ff tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} -synthesized vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:36.0 + sta {z1} +synthesized vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:30.0 tax lda ({z1}),y stx $ff ldy $ff tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuaa_minus_pbuz1_derefidx_vbuz1 synthesized vbuz1=pbuz1_derefidx_vbuaa_plus_pbuz1_derefidx_vbuz2 < vbuz1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuz2 < vbuz1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbum2 < vbuz1=pbuz1_derefidx_vbum2_plus_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbum2_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuxx < vbuz1=vbuxx_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_plus_vbuaa < vbuz1=vbuaa_plus_vbuxx < vbum1=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:29.0 tay @@ -1678,19 +1648,16 @@ synthesized vbuz1=pbuz1_derefidx_vbuxx_bor_vbuz2 < vbuz1=pbuz1_derefidx_vbuaa_bo lda ({z1}),y ora {z2} sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuxx_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbuaa_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbuyy_bxor__deref_pbuz1 < vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbuyy < vbuz1=_deref_pbuz1_bxor_vbuaa < vbuz1=_deref_pbuz1_bxor_vbuxx < vbuz1=vbuxx_bxor__deref_pbuz1 < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:34.0 +synthesized vbuz1=pbuz1_derefidx_vbuxx_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbuaa_bxor__deref_pbuz1 < vbuz1=pbuz1_derefidx_vbuyy_bxor__deref_pbuz1 < vbuz1=_deref_pbuz1_bxor_pbuz1_derefidx_vbuyy < vbuz1=_deref_pbuz1_bxor_vbuaa < vbuz1=_deref_pbuz1_bxor_vbuxx < vbuz1=vbuxx_bxor__deref_pbuz1 < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:28.0 txa tay lda ({z1}),y tax ldy #0 lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=pbuz1_derefidx_vbuxx_bxor__deref_pbuz2 < vbuz1=pbuz1_derefidx_vbuaa_bxor__deref_pbuz2 < vbuz1=pbuz1_derefidx_vbuyy_bxor__deref_pbuz2 < vbuz1=_deref_pbuz2_bxor_pbuz1_derefidx_vbuyy < vbuz1=_deref_pbuz2_bxor_vbuaa < vbum1=_deref_pbuz2_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:20.0 txa tay @@ -1731,19 +1698,16 @@ synthesized vbuz1=pbuz1_derefidx_vbuxx_bor_pbuz1_derefidx_vbuz2 < vbuz1=pbuz1_de stx $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuaa < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:34.0 +synthesized vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuaa < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:28.0 txa tay lda ({z1}),y ldy #{c1} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} synthesized vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz2_derefidx_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz2_derefidx_vbuaa < vbuz1=pbuz2_derefidx_vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz2_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz2_derefidx_vbuxx_bxor_vbuaa < vbuz1=pbuz2_derefidx_vbuyy_bxor_vbuaa < vbuz1=vbuaa_bxor_pbuz2_derefidx_vbuyy < vbum1=vbuaa_bxor_pbuz2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:28.0 stx $ff ldy $ff @@ -1829,22 +1793,16 @@ synthesized vbuz1=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bo stx $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:20.5 +synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A cycles:14.5 lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} -synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuyy < vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuyy_bxor_vbuaa < vbuz1=vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X cycles:20.5 + sta {z1} +synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuyy < vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuyy_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuyy < vbum1=vbuaa_bxor_vbuyy < vbuaa=vbuaa_bxor_vbuyy - clobber:A cycles:14.5 lda ({z1}),y - tax sty $ff - txa eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuyy_minus_vbuz1 synthesized vbuz1=pbuz1_derefidx_vbuyy_plus_vbuz2 < vbuz1=vbuz2_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuz2_plus_vbuaa < vbuz1=vbuaa_plus_vbuz2 < vbum1=vbuaa_plus_vbuz2 < vbuaa=vbuaa_plus_vbuz1 < vbuaa=vbuaa_plus_vbum1 - clobber:A cycles:13.5 lda ({z1}),y @@ -1870,28 +1828,22 @@ synthesized vbuz1=pbuz1_derefidx_vbuyy_bor_pbuz1_derefidx_vbuaa < vbuz1=pbuz1_de stx $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:34.0 +synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuxx_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:28.0 lda ({z1}),y stx $ff ldy $ff tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} -synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:28.0 + sta {z1} +synthesized vbuz1=pbuz1_derefidx_vbuyy_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X cycles:22.0 lda ({z1}),y tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuyy_minus_pbuz1_derefidx_vbuz1 synthesized vbuz1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbuz2 < vbuz1=pbuz1_derefidx_vbuyy_plus_pbuz1_derefidx_vbum2 < vbuz1=pbuz1_derefidx_vbum2_plus_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbum2_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuxx < vbuz1=vbuxx_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_plus_vbuaa < vbuz1=vbuaa_plus_vbuxx < vbum1=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:27.0 lda ({z1}),y @@ -2003,26 +1955,20 @@ synthesized vbuz1=pbuz1_derefidx_vbuz2_bor_vbuaa < vbuz1=vbuaa_bor_pbuz1_derefid stx $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuxx < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuxx < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:23.5 +synthesized vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuxx < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuxx < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A Y cycles:17.5 ldy {z2} lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} -synthesized vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuyy < vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:27.5 + sta {z1} +synthesized vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuyy < vbuz1=pbuz1_derefidx_vbuz2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:21.5 tya ldy {z2} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuz2_minus_vbuz1 synthesized vbuz1=pbuz1_derefidx_vbuz2_plus_vbuz2 < vbuz1=pbuz1_derefidx_vbum2_plus_vbum2 < vbuz1=pbuz1_derefidx_vbuyy_plus_vbum2 < vbuz1=vbum2_plus_pbuz1_derefidx_vbuyy < vbuz1=vbum2_plus_vbuaa < vbuz1=vbuaa_plus_vbum2 < vbum1=vbuaa_plus_vbum2 < vbuaa=vbuaa_plus_vbum1 - clobber:A Y cycles:16.5 ldy {z2} @@ -2058,18 +2004,15 @@ synthesized vbuz1=pbuz1_derefidx_vbuz2_bxor__deref_pbuc1 < vbuz1=pbuz1_derefidx_ lda ({z1}),y eor {c1} sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuaa < vbuz1=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:33.0 +synthesized vbuz1=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuaa < vbuz1=pbuz1_derefidx_vbuz2_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbum2_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbum2_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_bxor_vbuxx < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:27.0 tay lda ({z1}),y ldy {z2} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuz2_minus_pbuz1_derefidx_vbuxx synthesized vbuz1=pbuz1_derefidx_vbuz2_plus_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuz2_plus_vbuaa < vbuz1=pbuz1_derefidx_vbum2_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuxx < vbuz1=vbuxx_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_plus_vbuaa < vbuz1=vbuaa_plus_vbuxx < vbum1=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:27.0 lda ({z1}),y @@ -2198,17 +2141,14 @@ synthesized vbuz1=pbuz1_derefidx_vbuc1_bor_vbuxx < vbuz1=vbuxx_bor_pbuz1_derefid stx $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuyy < vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:26.5 +synthesized vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuyy < vbuz1=vbuyy_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:20.5 tya ldy #{c1} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuc1_minus_vbuz1 CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuc1_minus_vbuz2 synthesized vbuz1=pbuz1_derefidx_vbuc1_plus__deref_pbuz1 < vbuz1=_deref_pbuz1_plus_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_plus_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_plus_vbuaa < vbuz1=vbuaa_plus_vbuxx < vbum1=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:28.0 @@ -2240,19 +2180,16 @@ synthesized vbuz1=pbuz1_derefidx_vbuc1_bor_pbuz1_derefidx_vbuaa < vbuz1=pbuz1_de stx $ff ora $ff sta {z1} -synthesized vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuaa < vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuaa < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuxx_bxor_vbuyy < vbum1=vbuxx_bxor_vbuyy < vbuxx=vbuxx_bxor_vbuyy - clobber:A X Y cycles:34.0 +synthesized vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuxx < vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuaa < vbuz1=pbuz1_derefidx_vbuc1_bxor_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbuc1_bxor_vbuaa < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuc1 < vbuz1=vbuaa_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_bxor_vbuaa < vbuz1=vbuaa_bxor_vbuxx < vbum1=vbuaa_bxor_vbuxx < vbuaa=vbuaa_bxor_vbuxx - clobber:A X Y cycles:28.0 txa tay lda ({z1}),y ldy #{c1} tax lda ({z1}),y - tay - sty $ff - txa + stx $ff eor $ff - tax - stx {z1} + sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuc1_minus_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE vbuz1=pbuz1_derefidx_vbuc1_minus_pbuz1_derefidx_vbuz1 synthesized vbuz1=pbuz1_derefidx_vbuc1_plus_pbuz1_derefidx_vbuz2 < vbuz1=pbuz1_derefidx_vbuc1_plus_pbuz1_derefidx_vbum2 < vbuz1=pbuz1_derefidx_vbum2_plus_pbuz1_derefidx_vbuc1 < vbuz1=pbuz1_derefidx_vbum2_plus_pbuz1_derefidx_vbuyy < vbuz1=pbuz1_derefidx_vbum2_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuz1=pbuz1_derefidx_vbuyy_plus_vbuxx < vbuz1=vbuxx_plus_pbuz1_derefidx_vbuyy < vbuz1=vbuxx_plus_vbuaa < vbuz1=vbuaa_plus_vbuxx < vbum1=vbuaa_plus_vbuxx < vbuaa=vbuaa_plus_vbuxx - clobber:A X Y cycles:29.0 @@ -2627,13 +2564,12 @@ synthesized vbuz1=pbuz2_derefidx_vbuxx_bxor_vbuz1 < vbuz1=pbuz2_derefidx_vbuaa_b eor ({z2}),y sta {z1} CANNOT SYNTHESIZE vbuz1=pbuz2_derefidx_vbuxx_minus_vbuz2 -synthesized vbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < vbuz1=pbuz2_derefidx_vbuaa_minus_vbuz3 < vbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:19.5 +synthesized vbuz1=pbuz2_derefidx_vbuxx_minus_vbuz3 < vbuz1=pbuz2_derefidx_vbuaa_minus_vbuz3 < vbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:17.5 txa tay - lda {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} sta {z1} synthesized vbuz1=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < vbuz1=pbuz2_derefidx_vbuxx_plus_vbuaa < vbuz1=pbuz2_derefidx_vbuyy_plus_vbuaa < vbum1=pbuz2_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A Y cycles:24.0 ldy #0 @@ -2874,11 +2810,10 @@ synthesized vbuz1=pbuz2_derefidx_vbuyy_bxor_vbuz2 < vbum1=pbuz2_derefidx_vbuyy_b lda ({z2}),y eor {z2} sta {z1} -synthesized vbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A cycles:15.5 - lda {z3} - eor #$ff +synthesized vbuz1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbuz3 < vbum1=pbuz2_derefidx_vbuyy_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A cycles:13.5 sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} sta {z1} synthesized vbuz1=pbuz2_derefidx_vbuyy_plus__deref_pbuz1 < vbuz1=pbuz2_derefidx_vbuaa_plus__deref_pbuz1 < vbuz1=pbuz2_derefidx_vbuxx_plus__deref_pbuz1 < vbuz1=pbuz2_derefidx_vbuxx_plus_vbuaa < vbuz1=pbuz2_derefidx_vbuyy_plus_vbuaa < vbum1=pbuz2_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuz1_derefidx_vbuyy - clobber:A X Y cycles:28.0 tya @@ -3084,12 +3019,11 @@ synthesized vbuz1=pbuz2_derefidx_vbuz1_bxor_vbuz2 < vbum1=pbuz2_derefidx_vbum1_b lda ({z2}),y eor {z2} sta {z1} -synthesized vbuz1=pbuz2_derefidx_vbuz1_minus_vbuz3 < vbum1=pbuz2_derefidx_vbum1_minus_vbuz3 < vbum1=pbuz2_derefidx_vbum1_minus_vbum3 < vbuaa=pbuz2_derefidx_vbum1_minus_vbum3 < vbuaa=pbuz2_derefidx_vbum1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:18.5 - lda {z3} +synthesized vbuz1=pbuz2_derefidx_vbuz1_minus_vbuz3 < vbum1=pbuz2_derefidx_vbum1_minus_vbuz3 < vbum1=pbuz2_derefidx_vbum1_minus_vbum3 < vbuaa=pbuz2_derefidx_vbum1_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:16.5 ldy {z1} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z3} sta {z1} synthesized vbuz1=pbuz2_derefidx_vbuz1_minus__deref_pbuz1 < vbuz1=pbuz2_derefidx_vbuz1_minus_vbuaa < vbum1=pbuz2_derefidx_vbum1_minus_vbuaa < vbuaa=pbuz2_derefidx_vbum1_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:23.0 ldy #0 @@ -3333,12 +3267,11 @@ synthesized vbuz1=pbuz2_derefidx_vbuz3_bxor_vbuz3 < vbum1=pbuz2_derefidx_vbuz3_b tay eor ({z2}),y sta {z1} -synthesized vbuz1=pbuz2_derefidx_vbuz3_minus_vbuz4 < vbum1=pbuz2_derefidx_vbuz3_minus_vbuz4 < vbum1=pbuz2_derefidx_vbum3_minus_vbuz4 < vbum1=pbuz2_derefidx_vbum3_minus_vbum4 < vbuaa=pbuz1_derefidx_vbum2_minus_vbum3 < vbuaa=pbuz1_derefidx_vbum2_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:18.5 - lda {z4} +synthesized vbuz1=pbuz2_derefidx_vbuz3_minus_vbuz4 < vbum1=pbuz2_derefidx_vbuz3_minus_vbuz4 < vbum1=pbuz2_derefidx_vbum3_minus_vbuz4 < vbum1=pbuz2_derefidx_vbum3_minus_vbum4 < vbuaa=pbuz1_derefidx_vbum2_minus_vbum3 < vbuaa=pbuz1_derefidx_vbuyy_minus_vbum2 - clobber:A Y cycles:16.5 ldy {z3} - eor #$ff sec - adc ({z2}),y + lda ({z2}),y + sbc {z4} sta {z1} synthesized vbuz1=pbuz2_derefidx_vbuz3_minus__deref_pbuz1 < vbuz1=pbuz2_derefidx_vbum3_minus__deref_pbuz1 < vbuz1=pbuz2_derefidx_vbum3_minus_vbuaa < vbuz1=pbuz2_derefidx_vbuyy_minus_vbuaa < vbum1=pbuz2_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_minus_vbuaa - clobber:A Y cycles:23.0 ldy #0