diff --git a/src/test/ref/chessboard.log b/src/test/ref/chessboard.log index dbaa2070e..58b8bfdea 100644 --- a/src/test/ref/chessboard.log +++ b/src/test/ref/chessboard.log @@ -327,8 +327,8 @@ main: { ldy column sta (colors),y //SEG31 [9] (byte) main::color#1 ← (byte) main::color#3 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_bxor_vbuc1 - lda color - eor #1 + lda #1 + eor color sta color //SEG32 [10] (byte) main::column#1 ← ++ (byte) main::column#2 -- vbuz1=_inc_vbuz1 inc column @@ -340,8 +340,8 @@ main: { //SEG34 main::@3 b3: //SEG35 [12] (byte) main::color#2 ← (byte) main::color#1 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_bxor_vbuc1 - lda color - eor #1 + lda #1 + eor color sta color //SEG36 [13] (byte*) main::screen#1 ← (byte*) main::screen#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 diff --git a/src/test/ref/examples/multiplexer/simple-multiplexer.asm b/src/test/ref/examples/multiplexer/simple-multiplexer.asm index 75a77ba73..a5f085fdd 100644 --- a/src/test/ref/examples/multiplexer/simple-multiplexer.asm +++ b/src/test/ref/examples/multiplexer/simple-multiplexer.asm @@ -129,8 +129,8 @@ plexShowSprite: { lda PLEX_XPOS+1,x cmp #0 bne b1 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb and SPRITES_XMSB sta SPRITES_XMSB b2: diff --git a/src/test/ref/examples/multiplexer/simple-multiplexer.log b/src/test/ref/examples/multiplexer/simple-multiplexer.log index 17af0ed69..f5a801251 100644 --- a/src/test/ref/examples/multiplexer/simple-multiplexer.log +++ b/src/test/ref/examples/multiplexer/simple-multiplexer.log @@ -2691,8 +2691,8 @@ plexShowSprite: { //SEG95 plexShowSprite::@3 b3: //SEG96 [49] (byte/word/dword~) plexShowSprite::$10 ← (byte/word/signed word/dword/signed dword) $ff ^ (byte) plex_sprite_msb#44 -- vbuz1=vbuc1_bxor_vbuz2 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb sta _10 //SEG97 [50] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte/word/dword~) plexShowSprite::$10 -- _deref_pbuc1=_deref_pbuc1_band_vbuz1 lda SPRITES_XMSB @@ -3488,8 +3488,8 @@ plexShowSprite: { //SEG95 plexShowSprite::@3 b3: //SEG96 [49] (byte/word/dword~) plexShowSprite::$10 ← (byte/word/signed word/dword/signed dword) $ff ^ (byte) plex_sprite_msb#44 -- vbuaa=vbuc1_bxor_vbuz1 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb //SEG97 [50] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte/word/dword~) plexShowSprite::$10 -- _deref_pbuc1=_deref_pbuc1_band_vbuaa and SPRITES_XMSB sta SPRITES_XMSB @@ -4425,8 +4425,8 @@ plexShowSprite: { bne b1 //SEG95 plexShowSprite::@3 //SEG96 [49] (byte/word/dword~) plexShowSprite::$10 ← (byte/word/signed word/dword/signed dword) $ff ^ (byte) plex_sprite_msb#44 -- vbuaa=vbuc1_bxor_vbuz1 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb //SEG97 [50] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte/word/dword~) plexShowSprite::$10 -- _deref_pbuc1=_deref_pbuc1_band_vbuaa and SPRITES_XMSB sta SPRITES_XMSB diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.asm b/src/test/ref/examples/sinsprites/sinus-sprites.asm index 8584d7095..6d699fc87 100644 --- a/src/test/ref/examples/sinsprites/sinus-sprites.asm +++ b/src/test/ref/examples/sinsprites/sinus-sprites.asm @@ -614,8 +614,8 @@ place_sprites: { lax spr_x axs #-[$20] stx spr_x - lda col - eor #7^5 + lda #7^5 + eor col sta col ldx j2 inx diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.log b/src/test/ref/examples/sinsprites/sinus-sprites.log index 0231f4b1a..ac4d304d6 100644 --- a/src/test/ref/examples/sinsprites/sinus-sprites.log +++ b/src/test/ref/examples/sinsprites/sinus-sprites.log @@ -4908,8 +4908,8 @@ place_sprites: { axs #-[$20] stx spr_x //SEG467 [221] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuz1=vbuz1_bxor_vbuc1 - lda col - eor #7^5 + lda #7^5 + eor col sta col //SEG468 [222] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 -- vbuz1=_inc_vbuz2 ldy j2_3 @@ -6691,8 +6691,8 @@ place_sprites: { axs #-[$20] stx spr_x //SEG467 [221] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuz1=vbuz1_bxor_vbuc1 - lda col - eor #7^5 + lda #7^5 + eor col sta col //SEG468 [222] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 -- vbuxx=_inc_vbuz1 ldx j2 @@ -8515,8 +8515,8 @@ place_sprites: { axs #-[$20] stx spr_x //SEG467 [221] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (byte/signed byte/word/signed word/dword/signed dword) 7^(byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuz1=vbuz1_bxor_vbuc1 - lda col - eor #7^5 + lda #7^5 + eor col sta col //SEG468 [222] (byte) place_sprites::j2#1 ← ++ (byte) place_sprites::j2#3 -- vbuxx=_inc_vbuz1 ldx j2 diff --git a/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log b/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log index bc71af084..a0e6b4f30 100644 --- a/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log +++ b/src/test/ref/fragments-assignment-binary-_deref_pbuc1.log @@ -12,7 +12,9 @@ _deref_pbuc1=vbuaa_bor_vbuyy < _deref_pbuc1=vbuyy_bor_vbuaa < vbuaa=vbuyy_bor_vb sty $ff ora $ff sta {c1} -CANNOT SYNTHESIZE _deref_pbuc1=vbuaa_bxor_vbuz1 +_deref_pbuc1=vbuaa_bxor_vbuz1 < _deref_pbuc1=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:7.0 + eor {z1} + sta {c1} _deref_pbuc1=vbuaa_bxor__deref_pbuz1 < _deref_pbuc1=_deref_pbuz1_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:11.5 ldy #0 eor ({z1}),y @@ -424,7 +426,9 @@ _deref_pbuc1=vbuyy_bxor_vbuc2 < vbuaa=vbuyy_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc2 tya eor #{c2} sta {c1} -CANNOT SYNTHESIZE _deref_pbuc1=vbuz1_bxor_vbuaa +_deref_pbuc1=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:7.0 + eor {z1} + sta {c1} _deref_pbuc1=vbuz1_minus_vbuxx < _deref_pbuc1=vbuz1_minus_vbuaa < vbuaa=vbuz1_minus_vbuaa - clobber:A cycles:13.0 txa eor #$ff @@ -454,9 +458,9 @@ _deref_pbuc1=vbuz1_bor__deref_pbuc1 < _deref_pbuc1=_deref_pbuc1_bor_vbuz1 < vbua lda {c1} ora {z1} sta {c1} -_deref_pbuc1=vbuz1_bxor__deref_pbuc2 < _deref_pbuc1=vbuaa_bxor__deref_pbuc2 < _deref_pbuc1=_deref_pbuc2_bxor_vbuaa < vbuaa=_deref_pbuc2_bxor_vbuaa < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A cycles:11.0 - lda {z1} - eor {c2} +_deref_pbuc1=vbuz1_bxor__deref_pbuc2 < _deref_pbuc1=_deref_pbuc2_bxor_vbuz1 < vbuaa=_deref_pbuc2_bxor_vbuz1 < vbuaa=vbuz1_bxor__deref_pbuc2 < vbuaa=vbuz1_bxor__deref_pbuc1 < vbuaa=_deref_pbuc1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:11.0 + lda {c2} + eor {z1} sta {c1} CANNOT SYNTHESIZE _deref_pbuc1=vbuz1_minus_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE _deref_pbuc1=vbuz1_minus_pbuz1_derefidx_vbuxx @@ -495,19 +499,19 @@ _deref_pbuc1=vbuz1_bor_pbuz2_derefidx_vbuc2 < _deref_pbuc1=vbuaa_bor_pbuz1_deref ldy #{c2} ora ({z2}),y sta {c1} -_deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuaa < _deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuxx < _deref_pbuc1=vbuaa_bxor_pbuc1_derefidx_vbuxx < _deref_pbuc1=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:13.5 +_deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuaa < _deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuxx < _deref_pbuc1=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:13.5 tax - lda {z1} - eor {c1},x + lda {c1},x + eor {z1} sta {c1} -_deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuaa < _deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuyy < _deref_pbuc1=vbuaa_bxor_pbuc1_derefidx_vbuyy < _deref_pbuc1=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:13.5 +_deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuaa < _deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:13.5 tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} sta {c1} -_deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuxx < _deref_pbuc1=vbuaa_bxor_pbuc1_derefidx_vbuxx < _deref_pbuc1=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A cycles:11.5 - lda {z1} - eor {c1},x +_deref_pbuc1=vbuz1_bxor_pbuc1_derefidx_vbuxx < _deref_pbuc1=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:11.5 + lda {c1},x + eor {z1} sta {c1} _deref_pbuc1=vbuz1_minus_pbuc1_derefidx_vbuyy < _deref_pbuc1=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A cycles:13.5 lda {z1} @@ -562,9 +566,9 @@ _deref_pbuc1=vbuz1_bor_pbuc2_derefidx_vbuxx < _deref_pbuc1=pbuc2_derefidx_vbuxx_ lda {c2},x ora {z1} sta {c1} -_deref_pbuc1=vbuz1_bxor_pbuc2_derefidx_vbuyy < _deref_pbuc1=vbuaa_bxor_pbuc2_derefidx_vbuyy < _deref_pbuc1=pbuc2_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc2_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A cycles:11.5 - lda {z1} - eor {c2},y +_deref_pbuc1=vbuz1_bxor_pbuc2_derefidx_vbuyy < _deref_pbuc1=pbuc2_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc2_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:11.5 + lda {c2},y + eor {z1} sta {c1} _deref_pbuc1=vbuz1_minus_pbuc2_derefidx_vbuz1 < _deref_pbuc1=vbuaa_minus_pbuc2_derefidx_vbuaa < _deref_pbuc1=vbuaa_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A X cycles:15.5 lda {z1} @@ -5510,9 +5514,9 @@ _deref_pbuc1=vbuc2_bor_vbuyy < _deref_pbuc1=vbuyy_bor_vbuc2 < vbuaa=vbuyy_bor_vb tya ora #{c2} sta {c1} -_deref_pbuc1=vbuc2_bxor_vbuz1 < _deref_pbuc1=vbuc2_bxor_vbuaa < vbuaa=vbuc2_bxor_vbuaa < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:9.0 - lda {z1} - eor #{c2} +_deref_pbuc1=vbuc2_bxor_vbuz1 < _deref_pbuc1=vbuz1_bxor_vbuc2 < vbuaa=vbuz1_bxor_vbuc2 < vbuaa=vbuc2_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:9.0 + lda #{c2} + eor {z1} sta {c1} _deref_pbuc1=vbuc2_minus__deref_pbuz1 < vbuaa=vbuc2_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:15.5 lda #{c2} diff --git a/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log b/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log index 43d0b05ea..aa661a603 100644 --- a/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log +++ b/src/test/ref/fragments-assignment-binary-_deref_pbuz1.log @@ -14,8 +14,14 @@ _deref_pbuz1=vbuaa_bor_vbuyy < _deref_pbuz1=vbuyy_bor_vbuaa < vbuaa=vbuyy_bor_vb ora $ff ldy #0 sta ({z1}),y -CANNOT SYNTHESIZE _deref_pbuz1=vbuaa_bxor_vbuz1 -CANNOT SYNTHESIZE _deref_pbuz1=vbuaa_bxor_vbuz2 +_deref_pbuz1=vbuaa_bxor_vbuz1 < _deref_pbuz1=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:11.0 + eor {z1} + ldy #0 + sta ({z1}),y +_deref_pbuz1=vbuaa_bxor_vbuz2 < _deref_pbuz1=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:11.0 + eor {z2} + ldy #0 + sta ({z1}),y _deref_pbuz1=vbuaa_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:17.5 sec ldy #0 @@ -222,7 +228,11 @@ _deref_pbuz1=vbuyy_bor_vbuz1 < _deref_pbuz1=vbuaa_bor_vbuz1 < _deref_pbuz1=vbuz1 ora {z1} ldy #0 sta ({z1}),y -CANNOT SYNTHESIZE _deref_pbuz1=vbuyy_bxor_vbuz2 +_deref_pbuz1=vbuyy_bxor_vbuz2 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:13.0 + tya + eor {z2} + ldy #0 + sta ({z1}),y _deref_pbuz1=vbuyy_minus__deref_pbuz1 < vbuaa=vbuyy_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:19.5 tya sec @@ -319,7 +329,10 @@ _deref_pbuz1=vbuyy_bxor_vbuc1 < vbuaa=vbuyy_bxor_vbuc1 < vbuaa=vbuaa_bxor_vbuc1 eor #{c1} ldy #0 sta ({z1}),y -CANNOT SYNTHESIZE _deref_pbuz1=vbuz1_bxor_vbuaa +_deref_pbuz1=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:11.0 + eor {z1} + ldy #0 + sta ({z1}),y _deref_pbuz1=vbuz1_minus_vbuxx < _deref_pbuz1=vbuz1_minus_vbuaa < vbuaa=vbuz1_minus_vbuaa - clobber:A Y cycles:17.0 txa eor #$ff @@ -445,7 +458,11 @@ _deref_pbuz1=vbuz2_bor_vbuz1 < _deref_pbuz1=vbuz2_bor_vbuaa < _deref_pbuz1=vbuaa ora {z2} ldy #0 sta ({z1}),y -CANNOT SYNTHESIZE _deref_pbuz1=vbuz2_bxor_vbuz2 +_deref_pbuz1=vbuz2_bxor_vbuz2 < _deref_pbuz1=vbuaa_bxor_vbuz2 < _deref_pbuz1=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.0 + lda {z2} + eor {z2} + ldy #0 + sta ({z1}),y _deref_pbuz1=vbuz2_minus_vbuz3 < _deref_pbuz1=vbuaa_minus_vbuz2 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:16.0 lda {z2} sec @@ -1974,10 +1991,10 @@ _deref_pbuz1=pbuc1_derefidx_vbuaa_bor_vbuyy < _deref_pbuz1=vbuyy_bor_pbuc1_deref ora {c1},x ldy #0 sta ({z1}),y -_deref_pbuz1=pbuc1_derefidx_vbuaa_bxor_vbuz1 < _deref_pbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz1 < _deref_pbuz1=pbuc1_derefidx_vbuyy_bxor_vbuaa < _deref_pbuz1=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:17.5 +_deref_pbuz1=pbuc1_derefidx_vbuaa_bxor_vbuz1 < _deref_pbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz1 < _deref_pbuz1=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:17.5 tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} ldy #0 sta ({z1}),y _deref_pbuz1=pbuc1_derefidx_vbuaa_minus_vbuz2 < _deref_pbuz1=pbuc1_derefidx_vbuyy_minus_vbuz2 < _deref_pbuz1=vbuaa_minus_vbuz2 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:19.5 @@ -2167,14 +2184,14 @@ _deref_pbuz1=pbuc1_derefidx_vbuxx_bor_vbuyy < _deref_pbuz1=vbuyy_bor_pbuc1_deref ora {c1},x ldy #0 sta ({z1}),y -_deref_pbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz1 < _deref_pbuz1=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 - lda {z1} - eor {c1},x +_deref_pbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:15.5 + lda {c1},x + eor {z1} ldy #0 sta ({z1}),y -_deref_pbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz2 < _deref_pbuz1=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 - lda {z2} - eor {c1},x +_deref_pbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:15.5 + lda {c1},x + eor {z2} ldy #0 sta ({z1}),y _deref_pbuz1=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < vbuaa=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:22.0 @@ -2342,9 +2359,9 @@ _deref_pbuz1=pbuc1_derefidx_vbuyy_bor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bor_vbu ora {z1} ldy #0 sta ({z1}),y -_deref_pbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz2 < _deref_pbuz1=pbuc1_derefidx_vbuyy_bxor_vbuaa < _deref_pbuz1=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:15.5 - lda {z2} - eor {c1},y +_deref_pbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz2 < _deref_pbuz1=vbuz2_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:15.5 + lda {c1},y + eor {z2} ldy #0 sta ({z1}),y _deref_pbuz1=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 < vbuaa=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:22.0 @@ -3456,9 +3473,9 @@ _deref_pbuz1=vbuc1_bor_vbuyy < _deref_pbuz1=vbuyy_bor_vbuc1 < vbuaa=vbuyy_bor_vb ora #{c1} ldy #0 sta ({z1}),y -_deref_pbuz1=vbuc1_bxor_vbuz1 < _deref_pbuz1=vbuc1_bxor_vbuaa < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y cycles:13.0 - lda {z1} - eor #{c1} +_deref_pbuz1=vbuc1_bxor_vbuz1 < _deref_pbuz1=vbuz1_bxor_vbuc1 < vbuaa=vbuz1_bxor_vbuc1 < vbuaa=vbuc1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:13.0 + lda #{c1} + eor {z1} ldy #0 sta ({z1}),y _deref_pbuz1=vbuc1_minus_vbuz2 < vbuaa=vbuc1_minus_vbuz1 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:15.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 ccd8029ea..251d94d0d 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuaa.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuaa.log @@ -17,7 +17,16 @@ pbuc1_derefidx_vbuaa=vbuaa_bor_vbuyy < pbuc1_derefidx_vbuxx=vbuxx_bor_vbuyy < pb sty $ff ora $ff sta {c1},x -CANNOT SYNTHESIZE pbuc1_derefidx_vbuaa=vbuaa_bxor_vbuz1 +pbuc1_derefidx_vbuaa=vbuaa_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuxx_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:12.0 + tax + txa + eor {z1} + sta {c1},x +pbuc1_derefidx_vbuaa=vbuaa_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuyy_bxor_vbuz1 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:12.0 + tay + tya + eor {z1} + sta {c1},y pbuc1_derefidx_vbuaa=vbuaa_bxor__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuxx_bxor__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuaa_bxor__deref_pbuz1 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A X Y cycles:16.5 tax txa @@ -653,7 +662,16 @@ pbuc1_derefidx_vbuaa=vbuyy_bxor_vbuc2 < pbuc1_derefidx_vbuxx=vbuyy_bxor_vbuc2 < tya eor #{c2} sta {c1},x -CANNOT SYNTHESIZE pbuc1_derefidx_vbuaa=vbuz1_bxor_vbuaa +pbuc1_derefidx_vbuaa=vbuz1_bxor_vbuaa < pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuxx < pbuc1_derefidx_vbuxx=vbuxx_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:12.0 + tax + txa + eor {z1} + sta {c1},x +pbuc1_derefidx_vbuaa=vbuz1_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuyy < pbuc1_derefidx_vbuyy=vbuyy_bxor_vbuz1 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:12.0 + tay + tya + eor {z1} + sta {c1},y pbuc1_derefidx_vbuaa=vbuz1_minus_vbuxx < pbuc1_derefidx_vbuyy=vbuz1_minus_vbuxx < pbuc1_derefidx_vbuyy=vbuz1_minus_vbuaa < vbuaa=vbuz1_minus_vbuaa - clobber:A Y cycles:16.0 tay txa @@ -717,15 +735,15 @@ pbuc1_derefidx_vbuaa=vbuz1_bor__deref_pbuc1 < pbuc1_derefidx_vbuyy=vbuz1_bor__de lda {c1} ora {z1} sta {c1},y -pbuc1_derefidx_vbuaa=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuxx=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuxx=vbuaa_bxor__deref_pbuc2 < pbuc1_derefidx_vbuxx=_deref_pbuc2_bxor_vbuaa < vbuaa=_deref_pbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc2 < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A X cycles:14.0 +pbuc1_derefidx_vbuaa=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuxx=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuxx=_deref_pbuc2_bxor_vbuz1 < vbuaa=_deref_pbuc2_bxor_vbuz1 < vbuaa=_deref_pbuc1_bxor_vbuz1 < vbuaa=vbuz1_bxor__deref_pbuc1 < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:14.0 tax - lda {z1} - eor {c2} + lda {c2} + eor {z1} sta {c1},x -pbuc1_derefidx_vbuaa=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuyy=vbuz1_bxor__deref_pbuc2 < vbuaa=vbuz1_bxor__deref_pbuc2 < vbuaa=vbuz1_bxor__deref_pbuc1 < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y cycles:14.0 +pbuc1_derefidx_vbuaa=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuyy=vbuz1_bxor__deref_pbuc2 < vbuaa=vbuz1_bxor__deref_pbuc2 < vbuaa=_deref_pbuc2_bxor_vbuz1 < vbuaa=_deref_pbuc1_bxor_vbuz1 < vbuaa=vbuz1_bxor__deref_pbuc1 < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.0 tay - lda {z1} - eor {c2} + lda {c2} + eor {z1} sta {c1},y CANNOT SYNTHESIZE pbuc1_derefidx_vbuaa=vbuz1_minus_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuc1_derefidx_vbuaa=vbuz1_minus_pbuz1_derefidx_vbuxx @@ -824,20 +842,20 @@ pbuc1_derefidx_vbuaa=vbuz1_bor_pbuz2_derefidx_vbuc2 < pbuc1_derefidx_vbuyy=vbuz1 ora ({z2}),y ldy $ff sta {c1},y -pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:14.5 +pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:14.5 tax - lda {z1} - eor {c1},x + lda {c1},x + eor {z1} sta {c1},x -pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:14.5 +pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.5 tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} sta {c1},y -pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:14.5 +pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.5 tay - lda {z1} - eor {c1},x + lda {c1},x + eor {z1} sta {c1},y pbuc1_derefidx_vbuaa=vbuz1_minus_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuz1_minus_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A X cycles:16.5 tax @@ -938,10 +956,10 @@ pbuc1_derefidx_vbuaa=vbuz1_bor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuz1 lda {c2},x ora {z1} sta {c1},y -pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuaa_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A X cycles:14.5 +pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc2_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:14.5 tax - lda {z1} - eor {c2},y + lda {c2},y + eor {z1} sta {c1},x pbuc1_derefidx_vbuaa=vbuz1_minus_pbuc2_derefidx_vbuz1 < pbuc1_derefidx_vbuxx=vbuz1_minus_pbuc2_derefidx_vbuz1 < pbuc1_derefidx_vbuxx=vbuaa_minus_pbuc2_derefidx_vbuaa < vbuaa=vbuaa_minus_pbuc2_derefidx_vbuaa < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuaa < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A X cycles:24.5 tax @@ -8152,11 +8170,11 @@ pbuc1_derefidx_vbuaa=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuxx=pbuc eor {c2},x ldx $ff sta {c1},x -pbuc1_derefidx_vbuaa=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuc2 < pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuaa_bxor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuxx < vbuaa=pbuc2_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:16.5 +pbuc1_derefidx_vbuaa=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuc2 < pbuc1_derefidx_vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc2_derefidx_vbuxx < vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuxx < vbuaa=pbuc2_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:16.5 ldx #{c2} tay - lda {z1} - eor {c2},x + lda {c2},x + eor {z1} sta {c1},y pbuc1_derefidx_vbuaa=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuc2_bxor_vbuaa < vbuaa=pbuc2_derefidx_vbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuc2 < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 tay @@ -10021,15 +10039,15 @@ pbuc1_derefidx_vbuaa=vbuc2_bor_vbuyy < pbuc1_derefidx_vbuxx=vbuc2_bor_vbuyy < pb tya ora #{c2} sta {c1},x -pbuc1_derefidx_vbuaa=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuaa < pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A X cycles:12.0 +pbuc1_derefidx_vbuaa=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuc2 < pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuaa < pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:12.0 tax - lda {z1} - eor #{c2} + lda #{c2} + eor {z1} sta {c1},x -pbuc1_derefidx_vbuaa=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuc2_bxor_vbuaa < vbuaa=vbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y cycles:12.0 +pbuc1_derefidx_vbuaa=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:12.0 tay - lda {z1} - eor #{c2} + lda #{c2} + eor {z1} sta {c1},y pbuc1_derefidx_vbuaa=vbuc2_minus__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuc2_minus__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuaa_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A X Y cycles:18.5 tax 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 cfa36da1e..47c3fbb95 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuxx.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuxx.log @@ -20,7 +20,9 @@ pbuc1_derefidx_vbuxx=vbuaa_bor_vbuyy < pbuc1_derefidx_vbuxx=vbuyy_bor_vbuaa < vb sty $ff ora $ff sta {c1},x -CANNOT SYNTHESIZE pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuz1 +pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:8.0 + eor {z1} + sta {c1},x pbuc1_derefidx_vbuxx=vbuaa_bxor__deref_pbuz1 < pbuc1_derefidx_vbuxx=_deref_pbuz1_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:12.5 ldy #0 eor ({z1}),y @@ -495,7 +497,9 @@ pbuc1_derefidx_vbuxx=vbuyy_bxor_vbuc2 < pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuyy < tya eor #{c2} sta {c1},x -CANNOT SYNTHESIZE pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuaa +pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:8.0 + eor {z1} + sta {c1},x pbuc1_derefidx_vbuxx=vbuz1_minus_vbuxx < pbuc1_derefidx_vbuxx=vbuz1_minus_vbuaa < vbuaa=vbuz1_minus_vbuaa - clobber:A cycles:14.0 txa eor #$ff @@ -525,9 +529,9 @@ pbuc1_derefidx_vbuxx=vbuz1_bor__deref_pbuc1 < pbuc1_derefidx_vbuxx=_deref_pbuc1_ lda {c1} ora {z1} sta {c1},x -pbuc1_derefidx_vbuxx=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuxx=vbuaa_bxor__deref_pbuc2 < vbuaa=vbuaa_bxor__deref_pbuc2 < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A cycles:12.0 - lda {z1} - eor {c2} +pbuc1_derefidx_vbuxx=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuxx=_deref_pbuc2_bxor_vbuz1 < vbuaa=_deref_pbuc2_bxor_vbuz1 < vbuaa=vbuz1_bxor__deref_pbuc2 < vbuaa=vbuz1_bxor__deref_pbuc1 < vbuaa=_deref_pbuc1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:12.0 + lda {c2} + eor {z1} sta {c1},x CANNOT SYNTHESIZE pbuc1_derefidx_vbuxx=vbuz1_minus_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuc1_derefidx_vbuxx=vbuz1_minus_pbuz1_derefidx_vbuxx @@ -566,22 +570,22 @@ pbuc1_derefidx_vbuxx=vbuz1_bor_pbuz2_derefidx_vbuc2 < pbuc1_derefidx_vbuxx=vbuaa ldy #{c2} ora ({z2}),y sta {c1},x -pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:20.5 +pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:20.5 stx $ff tax - lda {z1} - eor {c1},x + lda {c1},x + eor {z1} ldx $ff sta {c1},x -pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:14.5 +pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.5 tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} sta {c1},x -pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A cycles:12.5 - lda {z1} - eor {c1},x +pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:12.5 + lda {c1},x + eor {z1} sta {c1},x pbuc1_derefidx_vbuxx=vbuz1_minus_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A cycles:14.5 lda {z1} @@ -648,9 +652,9 @@ pbuc1_derefidx_vbuxx=vbuz1_bor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuxx=pbuc2 lda {c2},x ora {z1} sta {c1},x -pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuxx=vbuaa_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc2_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A cycles:12.5 - lda {z1} - eor {c2},y +pbuc1_derefidx_vbuxx=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc2_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:12.5 + lda {c2},y + eor {z1} sta {c1},x pbuc1_derefidx_vbuxx=vbuz1_minus_pbuc2_derefidx_vbuz1 < pbuc1_derefidx_vbuxx=vbuaa_minus_pbuc2_derefidx_vbuaa < vbuaa=vbuaa_minus_pbuc2_derefidx_vbuaa < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuaa < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A X cycles:22.5 lda {z1} @@ -6554,9 +6558,9 @@ pbuc1_derefidx_vbuxx=vbuc2_bor_vbuyy < pbuc1_derefidx_vbuxx=vbuyy_bor_vbuc2 < vb tya ora #{c2} sta {c1},x -pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuaa < vbuaa=vbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:10.0 - lda {z1} - eor #{c2} +pbuc1_derefidx_vbuxx=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuc2 < pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:10.0 + lda #{c2} + eor {z1} sta {c1},x pbuc1_derefidx_vbuxx=vbuc2_minus__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuaa_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:16.5 lda #{c2} 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 9941db701..d38fde0fa 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuyy.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuyy.log @@ -20,7 +20,9 @@ pbuc1_derefidx_vbuyy=vbuaa_bor_vbuyy < pbuc1_derefidx_vbuyy=vbuyy_bor_vbuaa < vb sty $ff ora $ff sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 +pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:8.0 + eor {z1} + sta {c1},y pbuc1_derefidx_vbuyy=vbuaa_bxor__deref_pbuz1 < pbuc1_derefidx_vbuyy=_deref_pbuz1_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:18.5 sty $ff @@ -537,7 +539,9 @@ pbuc1_derefidx_vbuyy=vbuyy_bxor_vbuc2 < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuc2 < tya eor #{c2} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuaa +pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:8.0 + eor {z1} + sta {c1},y pbuc1_derefidx_vbuyy=vbuz1_minus_vbuxx < pbuc1_derefidx_vbuyy=vbuz1_minus_vbuaa < vbuaa=vbuz1_minus_vbuaa - clobber:A cycles:14.0 txa eor #$ff @@ -587,9 +591,9 @@ pbuc1_derefidx_vbuyy=vbuz1_bor__deref_pbuc1 < pbuc1_derefidx_vbuyy=_deref_pbuc1_ lda {c1} ora {z1} sta {c1},y -pbuc1_derefidx_vbuyy=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuyy=vbuaa_bxor__deref_pbuc2 < vbuaa=vbuaa_bxor__deref_pbuc2 < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A cycles:12.0 - lda {z1} - eor {c2} +pbuc1_derefidx_vbuyy=vbuz1_bxor__deref_pbuc2 < pbuc1_derefidx_vbuyy=_deref_pbuc2_bxor_vbuz1 < vbuaa=_deref_pbuc2_bxor_vbuz1 < vbuaa=vbuz1_bxor__deref_pbuc2 < vbuaa=vbuz1_bxor__deref_pbuc1 < vbuaa=_deref_pbuc1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:12.0 + lda {c2} + eor {z1} sta {c1},y CANNOT SYNTHESIZE pbuc1_derefidx_vbuyy=vbuz1_minus_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuc1_derefidx_vbuyy=vbuz1_minus_pbuz1_derefidx_vbuxx @@ -688,22 +692,22 @@ pbuc1_derefidx_vbuyy=vbuz1_bor_pbuz2_derefidx_vbuc2 < pbuc1_derefidx_vbuyy=vbuaa ora ({z2}),y ldy $ff sta {c1},y -pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:14.5 +pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:14.5 tax - lda {z1} - eor {c1},x + lda {c1},x + eor {z1} sta {c1},y -pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:20.5 +pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuaa < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:20.5 sty $ff tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} ldy $ff sta {c1},y -pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A cycles:12.5 - lda {z1} - eor {c1},x +pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuxx < pbuc1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:12.5 + lda {c1},x + eor {z1} sta {c1},y pbuc1_derefidx_vbuyy=vbuz1_minus_pbuc1_derefidx_vbuyy < pbuc1_derefidx_vbuyy=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A cycles:14.5 lda {z1} @@ -770,9 +774,9 @@ pbuc1_derefidx_vbuyy=vbuz1_bor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuyy=pbuc2 lda {c2},x ora {z1} sta {c1},y -pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuyy=vbuaa_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A cycles:12.5 - lda {z1} - eor {c2},y +pbuc1_derefidx_vbuyy=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:12.5 + lda {c2},y + eor {z1} sta {c1},y pbuc1_derefidx_vbuyy=vbuz1_minus_pbuc2_derefidx_vbuz1 < pbuc1_derefidx_vbuyy=vbuaa_minus_pbuc2_derefidx_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A X cycles:16.5 lda {z1} @@ -7649,9 +7653,9 @@ pbuc1_derefidx_vbuyy=vbuc2_bor_vbuyy < pbuc1_derefidx_vbuyy=vbuc2_bor_vbuaa < pb tya ora #{c2} sta {c1},y -pbuc1_derefidx_vbuyy=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuc2_bxor_vbuaa < vbuaa=vbuc2_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:10.0 - lda {z1} - eor #{c2} +pbuc1_derefidx_vbuyy=vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuc2 < pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:10.0 + lda #{c2} + eor {z1} sta {c1},y pbuc1_derefidx_vbuyy=vbuc2_minus__deref_pbuz1 < pbuc1_derefidx_vbuaa=vbuc2_minus__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuc2_minus__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuaa_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A X Y cycles:20.5 tya 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 c76faf61f..169e6966c 100644 --- a/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuz1.log +++ b/src/test/ref/fragments-assignment-binary-pbuc1_derefidx_vbuz1.log @@ -822,8 +822,26 @@ pbuc1_derefidx_vbuz1=vbuz2_bor_vbuaa < pbuc1_derefidx_vbuyy=vbuz1_bor_vbuaa < vb ldy {z1} ora {z2} sta {c1},y -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuyy -CANNOT SYNTHESIZE pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuz2 +pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuyy < pbuc1_derefidx_vbuxx=vbuz1_bxor_vbuyy < pbuc1_derefidx_vbuxx=vbuyy_bxor_vbuz1 < pbuc1_derefidx_vbuxx=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:13.0 + ldx {z1} + tya + eor {z2} + sta {c1},x +pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuyy < pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuz1_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:13.0 + tya + ldy {z1} + eor {z2} + sta {c1},y +pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuz2 < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuz2 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:14.0 + lda {z2} + eor {z2} + ldx {z1} + sta {c1},x +pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuz2 < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuz2 < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.0 + lda {z2} + ldy {z1} + eor {z2} + sta {c1},y pbuc1_derefidx_vbuz1=vbuz2_minus__deref_pbuz1 < pbuc1_derefidx_vbuz1=vbuaa_minus__deref_pbuz1 < pbuc1_derefidx_vbuxx=vbuaa_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A X Y cycles:20.5 lda {z2} ldx {z1} @@ -1053,15 +1071,15 @@ pbuc1_derefidx_vbuz1=vbuz2_bxor_pbuc2_derefidx_vbuc3 < pbuc1_derefidx_vbuz1=vbua eor {c2},y ldy $ff sta {c1},y -pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuc2 < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuc2 < pbuc1_derefidx_vbuz1=vbuc2_bxor_vbuaa < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A X cycles:13.0 - lda {z2} - eor #{c2} +pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuc2 < pbuc1_derefidx_vbuz1=vbuc2_bxor_vbuz2 < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuz2 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:13.0 + lda #{c2} + eor {z2} ldx {z1} sta {c1},x -pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuc2 < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuc2 < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc2 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y cycles:13.0 - lda {z2} +pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuc2 < pbuc1_derefidx_vbuz1=vbuc2_bxor_vbuz2 < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuz2 < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:13.0 + lda #{c2} ldy {z1} - eor #{c2} + eor {z2} sta {c1},y pbuc1_derefidx_vbuz1=_deref_pbuz1_bxor_vbuxx < pbuc1_derefidx_vbuz1=_deref_pbuz1_bxor_vbuaa < pbuc1_derefidx_vbuxx=_deref_pbuz1_bxor_vbuaa < pbuc1_derefidx_vbuxx=vbuaa_bxor__deref_pbuz1 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A X Y cycles:17.5 txa @@ -7239,14 +7257,11 @@ pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuz1=vbuz tya eor {c2},x sta {c1},y -pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuc2_bxor_vbuyy < vbuaa=pbuc2_derefidx_vbuc2_bxor_vbuyy < vbuaa=vbuyy_bxor_pbuc2_derefidx_vbuc2 < vbuaa=vbuyy_bxor_pbuc1_derefidx_vbuc1 < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuc1 < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 - ldy {z1} - sty $ff - - tya +pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor_vbuz1 < pbuc1_derefidx_vbuz1=vbuz1_bxor_pbuc2_derefidx_vbuc2 < pbuc1_derefidx_vbuz1=vbuz1_bxor_pbuc2_derefidx_vbuyy < pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuyy_bxor_vbuz1 < pbuc1_derefidx_vbuz1=vbuaa_bxor_vbuz1 < pbuc1_derefidx_vbuyy=vbuaa_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:17.5 ldy #{c2} - eor {c2},y - ldy $ff + lda {c2},y + ldy {z1} + eor {z1} sta {c1},y pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuc2_bxor__deref_pbuz1 < pbuc1_derefidx_vbuz1=_deref_pbuz1_bxor_pbuc2_derefidx_vbuc2 < pbuc1_derefidx_vbuz1=_deref_pbuz1_bxor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuz1=vbuaa_bxor_pbuc2_derefidx_vbuxx < pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuxx_bxor_vbuaa < pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc2_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:22.0 ldx #{c2} @@ -8049,9 +8064,9 @@ pbuc1_derefidx_vbuz1=vbuc1_bor_vbuyy < pbuc1_derefidx_vbuz1=vbuc1_bor_vbuaa < pb ldy {z1} ora #{c1} sta {c1},y -pbuc1_derefidx_vbuz1=vbuc1_bxor_vbuz2 < pbuc1_derefidx_vbuz1=vbuc1_bxor_vbuaa < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A X cycles:13.0 - lda {z2} - eor #{c1} +pbuc1_derefidx_vbuz1=vbuc1_bxor_vbuz2 < pbuc1_derefidx_vbuz1=vbuz2_bxor_vbuc1 < vbuaa=vbuz1_bxor_vbuc1 < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:13.0 + lda #{c1} + eor {z2} ldx {z1} sta {c1},x pbuc1_derefidx_vbuz1=vbuc1_bxor_vbuz2 < pbuc1_derefidx_vbuz1=vbuc1_bxor_vbuaa < pbuc1_derefidx_vbuyy=vbuc1_bxor_vbuaa < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y cycles:13.0 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 9a9b3d10b..a84120650 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuaa.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuaa.log @@ -23,7 +23,10 @@ pbuz1_derefidx_vbuaa=vbuaa_bor_vbuyy < pbuz1_derefidx_vbuaa=vbuyy_bor_vbuaa < vb ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuaa_bxor_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuaa_bxor_vbuz2 +pbuz1_derefidx_vbuaa=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:11.0 + tay + eor {z2} + sta ({z1}),y pbuz1_derefidx_vbuaa=vbuaa_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:31.5 tax ldy #0 @@ -286,7 +289,12 @@ pbuz1_derefidx_vbuaa=vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuaa=vbuyy_bor_vbuxx < vb ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuyy_bxor_vbuz2 +pbuz1_derefidx_vbuaa=vbuyy_bxor_vbuz2 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:17.0 + sta $ff + tya + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuyy_minus__deref_pbuz1 pbuz1_derefidx_vbuaa=vbuyy_plus__deref_pbuz2 < vbuaa=vbuyy_plus__deref_pbuz1 < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:23.5 sta $ff @@ -587,7 +595,11 @@ pbuz1_derefidx_vbuaa=vbuz2_bor_vbuz1 < pbuz1_derefidx_vbuaa=vbuz2_bor_vbuyy < pb ora {z2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuz2 +pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuz2 < vbuaa=vbuz1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.0 + tay + lda {z2} + eor {z2} + sta ({z1}),y pbuz1_derefidx_vbuaa=vbuz2_minus_vbuz3 < vbuaa=vbuz1_minus_vbuz2 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:16.0 tay lda {z2} @@ -725,17 +737,17 @@ pbuz1_derefidx_vbuaa=vbuz2_bor_pbuc1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=vbuyy ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:18.5 +pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:18.5 ldx {z3} tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y -pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 +pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:22.5 ldy {z3} sta $ff - lda {z2} - eor {c1},y + lda {c1},y + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuaa=vbuz2_minus_pbuc1_derefidx_vbuc1 < pbuz1_derefidx_vbuaa=vbuz2_minus_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_minus_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:19.5 @@ -786,7 +798,14 @@ pbuz1_derefidx_vbuaa=_deref_pbuz1_bor_vbuz1 < pbuz1_derefidx_vbuxx=_deref_pbuz1_ ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_deref_pbuz1_bxor_vbuz2 +pbuz1_derefidx_vbuaa=_deref_pbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuxx=_deref_pbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_bxor__deref_pbuz1 < pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuz2 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:24.5 + tax + ldy #0 + lda ({z1}),y + stx $ff + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_deref_pbuz1_bxor__deref_pbuz1 pbuz1_derefidx_vbuaa=_deref_pbuz1_minus__deref_pbuz2 < pbuz1_derefidx_vbuxx=_deref_pbuz1_minus__deref_pbuz2 < pbuz1_derefidx_vbuxx=vbuaa_minus__deref_pbuz2 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A X Y cycles:31.0 tax @@ -2391,10 +2410,10 @@ pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < pbuz1_derefidx_vbuaa=pbuc eor {c1},x ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:15.5 +pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:15.5 tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_plus__deref_pbuz2 < vbuaa=pbuc1_derefidx_vbuxx_plus__deref_pbuz1 < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:26.0 @@ -2609,10 +2628,16 @@ pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuaa=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 +pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuxx < vbuaa=vbuz1_bxor_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:17.5 + ldx {c1},y + tay + txa + eor {z2} + sta ({z1}),y +pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:19.5 sta $ff - lda {z2} - eor {c1},y + lda {c1},y + eor {z2} ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 @@ -2824,17 +2849,17 @@ pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bor_vbuz1 < pbuz1_derefidx_vbuaa=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:18.5 +pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:18.5 ldx {z1} tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y -pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 +pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:22.5 ldy {z1} sta $ff - lda {z2} - eor {c1},y + lda {c1},y + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:39.0 @@ -3142,17 +3167,17 @@ pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:18.5 +pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:18.5 ldx {z2} tay - lda {z3} - eor {c1},x + lda {c1},x + eor {z3} sta ({z1}),y -pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 +pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:22.5 ldy {z2} sta $ff - lda {z3} - eor {c1},y + lda {c1},y + eor {z3} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:39.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 91200aa0a..f52a23ee2 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuxx.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuxx.log @@ -18,7 +18,11 @@ pbuz1_derefidx_vbuxx=vbuaa_bor_vbuyy < pbuz1_derefidx_vbuxx=vbuyy_bor_vbuaa < vb ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuz2 +pbuz1_derefidx_vbuxx=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:15.0 + stx $ff + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuaa_minus__deref_pbuz1 pbuz1_derefidx_vbuxx=vbuaa_plus__deref_pbuz2 < pbuz1_derefidx_vbuxx=_deref_pbuz2_plus_vbuaa < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:21.5 stx $ff @@ -274,7 +278,12 @@ pbuz1_derefidx_vbuxx=vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuxx=vbuyy_bor_vbuaa < vb ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuyy_bxor_vbuz2 +pbuz1_derefidx_vbuxx=vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuyy < vbuaa=vbuz1_bxor_vbuyy < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:17.0 + stx $ff + tya + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuyy_minus__deref_pbuz1 pbuz1_derefidx_vbuxx=vbuyy_plus__deref_pbuz2 < pbuz1_derefidx_vbuxx=_deref_pbuz2_plus_vbuyy < vbuaa=_deref_pbuz1_plus_vbuyy < vbuaa=vbuyy_plus__deref_pbuz1 < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:23.5 stx $ff @@ -513,7 +522,12 @@ pbuz1_derefidx_vbuxx=vbuz2_bor_vbuz1 < pbuz1_derefidx_vbuxx=vbuz2_bor_vbuaa < vb ora {z2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuz2 +pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuz2 < vbuaa=vbuz1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:16.0 + txa + tay + lda {z2} + eor {z2} + sta ({z1}),y pbuz1_derefidx_vbuxx=vbuz2_minus_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_minus_vbuz3 < vbuaa=vbuz1_minus_vbuz2 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:18.0 txa tay @@ -641,12 +655,12 @@ pbuz1_derefidx_vbuxx=vbuz2_bor_pbuc1_derefidx_vbuz2 < pbuz1_derefidx_vbuxx=vbuaa ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuxx=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:20.5 +pbuz1_derefidx_vbuxx=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:20.5 txa ldx {z3} tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y pbuz1_derefidx_vbuxx=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuz2 < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 lda {z2} @@ -712,7 +726,13 @@ pbuz1_derefidx_vbuxx=_deref_pbuz1_bor_vbuz1 < pbuz1_derefidx_vbuxx=vbuz1_bor__de ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_deref_pbuz1_bxor_vbuz2 +pbuz1_derefidx_vbuxx=_deref_pbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_bxor__deref_pbuz1 < pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:22.5 + ldy #0 + lda ({z1}),y + stx $ff + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_deref_pbuz1_bxor__deref_pbuz1 pbuz1_derefidx_vbuxx=_deref_pbuz1_minus__deref_pbuz2 < pbuz1_derefidx_vbuxx=vbuaa_minus__deref_pbuz2 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:29.0 ldy #0 @@ -2197,10 +2217,10 @@ pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuz1 < pbuz1_derefidx_vbuxx=pbuc eor {c1},x ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:19.5 - lda {z2} +pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:19.5 + lda {c1},x stx $ff - eor {c1},x + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_minus_vbuaa < pbuz1_derefidx_vbuxx=vbuyy_minus_vbuaa < vbuaa=vbuyy_minus_vbuaa - clobber:A Y cycles:34.0 @@ -2384,10 +2404,10 @@ pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuxx=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 - lda {z2} +pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:19.5 + lda {c1},y stx $ff - eor {c1},y + eor {z2} ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 @@ -2574,12 +2594,12 @@ pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_bor_vbuz1 < pbuz1_derefidx_vbuxx=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:20.5 +pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:20.5 txa ldx {z1} tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_bxor_vbuaa < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 lda {z2} @@ -2890,12 +2910,12 @@ pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_bor_vbuz2 < pbuz1_derefidx_vbuxx=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:20.5 +pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:20.5 txa ldx {z2} tay - lda {z3} - eor {c1},x + lda {c1},x + eor {z3} sta ({z1}),y pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_bxor_vbuaa < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 lda {z3} 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 ddc114c70..4942aec86 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuyy.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuyy.log @@ -30,7 +30,12 @@ pbuz1_derefidx_vbuyy=vbuaa_bor_vbuyy < pbuz1_derefidx_vbuyy=vbuyy_bor_vbuaa < vb ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuz2 +pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:15.0 + sty $ff + + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuaa_minus__deref_pbuz1 pbuz1_derefidx_vbuyy=vbuaa_plus__deref_pbuz2 < pbuz1_derefidx_vbuyy=_deref_pbuz2_plus_vbuaa < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:21.5 sty $ff @@ -311,7 +316,11 @@ pbuz1_derefidx_vbuyy=vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuyy=vbuyy_bor_vbuaa < vb ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuyy_bxor_vbuz2 +pbuz1_derefidx_vbuyy=vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:13.0 + tya + tay + eor {z2} + sta ({z1}),y pbuz1_derefidx_vbuyy=vbuyy_minus__deref_pbuz1 < pbuz1_derefidx_vbuaa=vbuaa_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:33.5 tya tax @@ -610,7 +619,12 @@ pbuz1_derefidx_vbuyy=vbuz2_bor_vbuz1 < pbuz1_derefidx_vbuyy=vbuz2_bor_vbuaa < pb ora {z2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuz2 +pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuz2 < vbuaa=vbuz1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:16.0 + tya + tay + lda {z2} + eor {z2} + sta ({z1}),y pbuz1_derefidx_vbuyy=vbuz2_minus_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_minus_vbuz3 < vbuaa=vbuz1_minus_vbuz2 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:18.0 tya tay @@ -761,12 +775,12 @@ pbuz1_derefidx_vbuyy=vbuz2_bor_pbuc1_derefidx_vbuz2 < pbuz1_derefidx_vbuyy=vbuaa ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:20.5 +pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:20.5 ldx {z3} tya tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuz2 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz2_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 lda {z2} @@ -839,7 +853,15 @@ pbuz1_derefidx_vbuyy=_deref_pbuz1_bor_vbuz1 < pbuz1_derefidx_vbuaa=_deref_pbuz1_ ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_deref_pbuz1_bxor_vbuz2 +pbuz1_derefidx_vbuyy=_deref_pbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=_deref_pbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuxx=_deref_pbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuxx=vbuz2_bxor__deref_pbuz1 < pbuz1_derefidx_vbuxx=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:26.5 + tya + tax + ldy #0 + lda ({z1}),y + stx $ff + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_deref_pbuz1_bxor__deref_pbuz1 pbuz1_derefidx_vbuyy=_deref_pbuz1_minus__deref_pbuz2 < pbuz1_derefidx_vbuaa=_deref_pbuz1_minus__deref_pbuz2 < pbuz1_derefidx_vbuxx=_deref_pbuz1_minus__deref_pbuz2 < pbuz1_derefidx_vbuxx=vbuaa_minus__deref_pbuz2 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A X Y cycles:33.0 tya @@ -2608,11 +2630,11 @@ pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz1 < pbuz1_derefidx_vbuyy=pbuc eor {c1},x ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:17.5 +pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:17.5 tya tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_plus__deref_pbuz2 < pbuz1_derefidx_vbuyy=_deref_pbuz2_plus_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuyy=_deref_pbuz2_plus_vbuaa < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y cycles:26.0 @@ -2875,11 +2897,11 @@ pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuyy=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:19.5 - lda {z2} +pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:19.5 + lda {c1},y sty $ff - eor {c1},y + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuaa_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_minus_vbuaa < pbuz1_derefidx_vbuxx=vbuyy_minus_vbuaa < vbuaa=vbuyy_minus_vbuaa - clobber:A X Y cycles:38.0 @@ -3111,20 +3133,20 @@ pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz1_bor_vbuz1 < pbuz1_derefidx_vbuyy=pbuc1 ora {c1},x ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:20.5 +pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:20.5 ldx {z1} tya tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y -pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:24.5 +pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuz2_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:24.5 lda {z1} sty $ff tay - lda {z2} - eor {c1},y + lda {c1},y + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz1_minus__deref_pbuz1 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz1_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:41.0 @@ -3502,12 +3524,12 @@ pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz2_bor_vbuz2 < pbuz1_derefidx_vbuyy=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:20.5 +pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:20.5 ldx {z2} tya tay - lda {z3} - eor {c1},x + lda {c1},x + eor {z3} sta ({z1}),y pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuz2_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 lda {z3} diff --git a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz1.log b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz1.log index 2431ab78c..e48a0e77d 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz1.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz1.log @@ -32,7 +32,13 @@ pbuz1_derefidx_vbuz1=vbuaa_bor_vbuyy < pbuz1_derefidx_vbuxx=vbuaa_bor_vbuyy < vb ldy $ff sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuz1=vbuaa_bxor_vbuz1 -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz1=vbuaa_bxor_vbuz2 +pbuz1_derefidx_vbuz1=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:18.0 + ldy {z1} + sty $ff + + eor {z2} + ldy $ff + sta ({z1}),y pbuz1_derefidx_vbuz1=vbuaa_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuxx_minus_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:34.5 tax ldy #0 @@ -332,7 +338,13 @@ pbuz1_derefidx_vbuz1=vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuz1=vbuyy_bor_vbuaa < pb ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz1=vbuyy_bxor_vbuz2 +pbuz1_derefidx_vbuz1=vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuyy_bxor_vbuz2 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:20.0 + lda {z1} + sta $ff + tya + eor {z2} + ldy $ff + sta ({z1}),y pbuz1_derefidx_vbuz1=vbuyy_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuaa_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuxx_minus_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:36.5 tya tax @@ -672,7 +684,12 @@ pbuz1_derefidx_vbuz1=vbuz2_bor_vbuz1 < pbuz1_derefidx_vbuz1=vbuz2_bor_vbuaa < pb ora {z2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz1=vbuz2_bxor_vbuz2 +pbuz1_derefidx_vbuz1=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuz2 < vbuaa=vbuz1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:17.0 + lda {z1} + tay + lda {z2} + eor {z2} + sta ({z1}),y pbuz1_derefidx_vbuz1=vbuz2_minus_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_minus_vbuz3 < vbuaa=vbuz1_minus_vbuz2 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y cycles:19.0 lda {z1} tay @@ -831,19 +848,19 @@ pbuz1_derefidx_vbuz1=vbuz2_bor_pbuc1_derefidx_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:21.5 +pbuz1_derefidx_vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:21.5 lda {z1} ldx {z3} tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y -pbuz1_derefidx_vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:25.5 +pbuz1_derefidx_vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuaa=vbuz2_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:25.5 lda {z1} ldy {z3} sta $ff - lda {z2} - eor {c1},y + lda {c1},y + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuz1=vbuz2_minus_pbuc1_derefidx_vbuc1 < pbuz1_derefidx_vbuaa=vbuz2_minus_pbuc1_derefidx_vbuc1 < pbuz1_derefidx_vbuaa=vbuz2_minus_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_minus_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:22.5 @@ -919,7 +936,15 @@ pbuz1_derefidx_vbuz1=_deref_pbuz1_bor_vbuz1 < pbuz1_derefidx_vbuxx=_deref_pbuz1_ ora $ff ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz1=_deref_pbuz1_bxor_vbuz2 +pbuz1_derefidx_vbuz1=_deref_pbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuz1=vbuz2_bxor__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuz2_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:25.5 + ldy #0 + lda ({z1}),y + ldy {z1} + sty $ff + + eor {z2} + ldy $ff + sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuz1=_deref_pbuz1_bxor__deref_pbuz1 pbuz1_derefidx_vbuz1=_deref_pbuz1_minus__deref_pbuz2 < pbuz1_derefidx_vbuz1=vbuaa_minus__deref_pbuz2 < pbuz1_derefidx_vbuyy=vbuaa_minus__deref_pbuz2 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:32.0 ldy #0 @@ -2763,11 +2788,11 @@ pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz1 < pbuz1_derefidx_vbuz1=pbuc eor {c1},x ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:18.5 +pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:18.5 lda {z1} tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuxx_minus_vbuaa < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_minus_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_minus_vbuaa < vbuaa=vbuyy_minus_vbuaa - clobber:A Y cycles:37.0 ldy #0 @@ -3034,11 +3059,19 @@ pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuz1=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:22.5 +pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuxx < vbuaa=vbuz1_bxor_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:20.5 lda {z1} - sta $ff - lda {z2} - eor {c1},y + ldx {c1},y + tay + txa + eor {z2} + sta ({z1}),y +pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz2 < pbuz1_derefidx_vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz1=vbuz2_bxor_vbuaa < pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:22.5 + lda {c1},y + ldy {z1} + sty $ff + + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=vbuxx_minus_vbuaa < pbuz1_derefidx_vbuyy=vbuxx_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:37.0 @@ -3299,19 +3332,19 @@ pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz1_bor_vbuz1 < pbuz1_derefidx_vbuz1=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:21.5 +pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:21.5 lda {z1} ldx {z1} tay - lda {z2} - eor {c1},x + lda {c1},x + eor {z2} sta ({z1}),y -pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:25.5 +pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:25.5 lda {z1} ldy {z1} sta $ff - lda {z2} - eor {c1},y + lda {c1},y + eor {z2} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz1_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuxx_minus_vbuaa < pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx_minus_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_minus_vbuaa < vbuaa=vbuyy_minus_vbuaa - clobber:A X Y cycles:40.0 @@ -3652,19 +3685,19 @@ pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz2_bor_vbuz2 < pbuz1_derefidx_vbuaa=pbuc1 ora {c1},y ldy $ff sta ({z1}),y -pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X Y cycles:21.5 +pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:21.5 lda {z1} ldx {z2} tay - lda {z3} - eor {c1},x + lda {c1},x + eor {z3} sta ({z1}),y -pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:25.5 +pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuz2_bxor_vbuz3 < pbuz1_derefidx_vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:25.5 lda {z1} ldy {z2} sta $ff - lda {z3} - eor {c1},y + lda {c1},y + eor {z3} ldy $ff sta ({z1}),y pbuz1_derefidx_vbuz1=pbuc1_derefidx_vbuz2_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_minus__deref_pbuz1 < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2_minus_vbuaa < pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_minus_vbuaa < vbuaa=vbuxx_minus_vbuaa - clobber:A X Y cycles:40.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 79a88ce63..ac9705fa2 100644 --- a/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz2.log +++ b/src/test/ref/fragments-assignment-binary-pbuz1_derefidx_vbuz2.log @@ -168,7 +168,11 @@ pbuz1_derefidx_vbuz2=vbuyy_bor_vbuz1 < pbuz1_derefidx_vbuz2=vbuyy_bor_vbuaa < pb ora $ff ldy {z2} sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuyy_bxor_vbuz3 +pbuz1_derefidx_vbuz2=vbuyy_bxor_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bxor_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:14.0 + tya + eor {z3} + ldy {z2} + sta ({z1}),y pbuz1_derefidx_vbuz2=vbuyy_bxor__deref_pbuz2 < pbuz1_derefidx_vbuaa=vbuyy_bxor__deref_pbuz2 < vbuaa=vbuyy_bxor__deref_pbuz1 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y cycles:24.5 lda {z2} sta $ff @@ -316,8 +320,28 @@ pbuz1_derefidx_vbuz2=vbuz2_bor_vbuaa < pbuz1_derefidx_vbuyy=vbuz2_bor_vbuaa < pb ora {z2} ldy $ff sta ({z1}),y -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuyy -CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuz2 +pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuyy < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuyy < pbuz1_derefidx_vbuaa=vbuyy_bxor_vbuz2 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:20.0 + lda {z2} + sta $ff + tya + eor {z2} + ldy $ff + sta ({z1}),y +pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbuz2=vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuxx_bxor_vbuz2 < pbuz1_derefidx_vbuaa=vbuz2_bxor_vbuxx < vbuaa=vbuz1_bxor_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X Y cycles:19.0 + ldx {z2} + lda {z2} + tay + txa + eor {z2} + sta ({z1}),y +pbuz1_derefidx_vbuz2=vbuz2_bxor_vbuz2 < pbuz1_derefidx_vbuz2=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuaa_bxor_vbuz2 < pbuz1_derefidx_vbuyy=vbuz2_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:21.0 + lda {z2} + ldy {z2} + sty $ff + + eor {z2} + ldy $ff + sta ({z1}),y pbuz1_derefidx_vbuz2=vbuz2_minus__deref_pbuz1 < pbuz1_derefidx_vbuz2=vbuz2_minus_vbuaa < pbuz1_derefidx_vbuz2=vbuz2_minus_vbuxx < pbuz1_derefidx_vbuaa=vbuaa_minus_vbuxx < vbuaa=vbuaa_minus_vbuxx - clobber:A X Y cycles:28.5 ldy #0 lda ({z1}),y @@ -466,9 +490,9 @@ pbuz1_derefidx_vbuz2=vbuz3_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_ ora ({z3}),y ldy {z2} sta ({z1}),y -pbuz1_derefidx_vbuz2=vbuz3_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_vbuaa < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y cycles:16.0 - lda {z3} - eor {c1} +pbuz1_derefidx_vbuz2=vbuz3_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bxor_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:16.0 + lda {c1} + eor {z3} ldy {z2} sta ({z1}),y CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_bxor_pbuz1_derefidx_vbuxx diff --git a/src/test/ref/fragments-assignment-binary-vbuaa.log b/src/test/ref/fragments-assignment-binary-vbuaa.log index 46d827008..378d84b58 100644 --- a/src/test/ref/fragments-assignment-binary-vbuaa.log +++ b/src/test/ref/fragments-assignment-binary-vbuaa.log @@ -23,7 +23,8 @@ CANNOT SYNTHESIZE vbuaa=vbuaa_bxor_vbuaa sty $ff clc adc $ff -CANNOT SYNTHESIZE vbuaa=vbuaa_bxor_vbuz1 +*vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:3.0 + eor {z1} *vbuaa=vbuaa_plus_vbuz1 - clobber:A cycles:5.0 clc adc {z1} @@ -267,7 +268,9 @@ vbuaa=vbuyy_bor_vbuyy < vbuaa=vbuaa_bor_vbuaa - clobber:A cycles:2.0 *vbuaa=vbuyy_plus_vbuyy - clobber:A cycles:4.0 tya asl -CANNOT SYNTHESIZE vbuaa=vbuyy_bxor_vbuz1 +vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:5.0 + tya + eor {z1} vbuaa=vbuyy_band__deref_pbuz1 < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:9.5 tya ldy #0 @@ -376,7 +379,8 @@ vbuaa=vbuyy_plus_vbuc1 < vbuaa=vbuaa_plus_vbuc1 - clobber:A cycles:6.0 tya clc adc #{c1} -CANNOT SYNTHESIZE vbuaa=vbuz1_bxor_vbuaa +vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:3.0 + eor {z1} vbuaa=vbuz1_band_vbuxx < vbuaa=vbuz1_band_vbuaa < vbuaa=vbuaa_band_vbuz1 - clobber:A cycles:5.0 txa and {z1} @@ -398,7 +402,9 @@ vbuaa=vbuz1_bor_vbuz1 < vbuaa=vbuaa_bor_vbuaa - clobber:A cycles:3.0 vbuaa=vbuz1_plus_vbuz1 < vbuaa=vbuaa_plus_vbuaa - clobber:A cycles:5.0 lda {z1} asl -CANNOT SYNTHESIZE vbuaa=vbuz1_bxor_vbuz2 +vbuaa=vbuz1_bxor_vbuz2 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:6.0 + lda {z1} + eor {z2} vbuaa=vbuz1_band__deref_pbuz1 < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:10.5 lda {z1} ldy #0 @@ -471,14 +477,14 @@ vbuaa=vbuz1_bor_pbuz2_derefidx_vbuc1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuc1 < vb ldy #{c1} ora ({z2}),y CANNOT SYNTHESIZE vbuaa=vbuz1_plus_pbuz2_derefidx_vbuc1 -vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:9.5 +vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:9.5 tax - lda {z1} - eor {c1},x -vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:9.5 + lda {c1},x + eor {z1} +vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:9.5 tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx < vbuaa=pbuc1_derefidx_vbuxx_band_vbuz1 < vbuaa=vbuaa_band_vbuz1 - clobber:A cycles:7.5 lda {c1},x and {z1} @@ -1931,9 +1937,9 @@ vbuaa=pbuc1_derefidx_vbuxx_plus_vbuyy < vbuaa=pbuc1_derefidx_vbuxx_plus_vbuaa < tya clc adc {c1},x -vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A cycles:7.5 - lda {z1} - eor {c1},x +vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:7.5 + lda {c1},x + eor {z1} vbuaa=pbuc1_derefidx_vbuxx_plus_vbuz1 < vbuaa=vbuz1_plus_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A cycles:9.5 lda {c1},x clc @@ -2162,9 +2168,9 @@ vbuaa=pbuc1_derefidx_vbuyy_plus_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < tya clc adc {c1},y -vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A cycles:7.5 - lda {z1} - eor {c1},y +vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:7.5 + lda {c1},y + eor {z1} vbuaa=pbuc1_derefidx_vbuyy_plus_vbuz1 < vbuaa=vbuz1_plus_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A cycles:9.5 lda {c1},y clc diff --git a/src/test/ref/fragments-assignment-binary-vbuxx.log b/src/test/ref/fragments-assignment-binary-vbuxx.log index 378660f19..67333709c 100644 --- a/src/test/ref/fragments-assignment-binary-vbuxx.log +++ b/src/test/ref/fragments-assignment-binary-vbuxx.log @@ -18,7 +18,9 @@ vbuxx=vbuaa_plus_vbuyy < vbuxx=vbuyy_plus_vbuaa < vbuaa=vbuyy_plus_vbuaa < vbuaa clc adc $ff tax -CANNOT SYNTHESIZE vbuxx=vbuaa_bxor_vbuz1 +vbuxx=vbuaa_bxor_vbuz1 < vbuxx=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:5.0 + eor {z1} + tax vbuxx=vbuaa_plus_vbuz1 < vbuxx=vbuz1_plus_vbuaa < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A X cycles:7.0 clc adc {z1} @@ -270,7 +272,10 @@ vbuxx=vbuyy_plus_vbuyy < vbuxx=vbuaa_plus_vbuaa < vbuaa=vbuaa_plus_vbuaa - clobb tya asl tax -CANNOT SYNTHESIZE vbuxx=vbuyy_bxor_vbuz1 +vbuxx=vbuyy_bxor_vbuz1 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:7.0 + tya + eor {z1} + tax vbuxx=vbuyy_band__deref_pbuz1 < vbuxx=vbuaa_band__deref_pbuz1 < vbuxx=_deref_pbuz1_band_vbuaa < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A X Y cycles:11.5 tya ldy #0 @@ -376,7 +381,9 @@ vbuxx=vbuyy_plus_vbuc1 < vbuxx=vbuaa_plus_vbuc1 - clobber:A X cycles:6.0 tya tax axs #-[{c1}] -CANNOT SYNTHESIZE vbuxx=vbuz1_bxor_vbuaa +vbuxx=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:5.0 + eor {z1} + tax vbuxx=vbuz1_band_vbuxx < vbuxx=vbuaa_band_vbuxx < vbuxx=vbuxx_band_vbuaa - clobber:A X cycles:5.0 lda {z1} axs #0 @@ -402,7 +409,10 @@ vbuxx=vbuz1_plus_vbuz1 < vbuxx=vbuaa_plus_vbuaa < vbuaa=vbuaa_plus_vbuaa - clobb lda {z1} asl tax -CANNOT SYNTHESIZE vbuxx=vbuz1_bxor_vbuz2 +vbuxx=vbuz1_bxor_vbuz2 < vbuxx=vbuaa_bxor_vbuz1 < vbuxx=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:8.0 + lda {z1} + eor {z2} + tax vbuxx=vbuz1_band__deref_pbuz1 < vbuxx=vbuaa_band__deref_pbuz1 < vbuxx=_deref_pbuz1_band_vbuaa < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A X Y cycles:12.5 lda {z1} ldy #0 @@ -489,10 +499,10 @@ vbuxx=vbuz1_bor_pbuz2_derefidx_vbuc1 < vbuxx=vbuaa_bor_pbuz1_derefidx_vbuc1 < vb ora ({z2}),y tax CANNOT SYNTHESIZE vbuxx=vbuz1_plus_pbuz2_derefidx_vbuc1 -vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuxx < vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:11.5 +vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuxx=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:11.5 tax - lda {z1} - eor {c1},x + lda {c1},x + eor {z1} tax vbuxx=vbuz1_band_pbuc1_derefidx_vbuxx < vbuxx=pbuc1_derefidx_vbuxx_band_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_band_vbuz1 < vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_band_vbuaa < vbuaa=vbuaa_band_vbuz1 - clobber:A X cycles:9.5 lda {c1},x @@ -1903,9 +1913,9 @@ vbuxx=pbuc1_derefidx_vbuxx_plus_vbuyy < vbuxx=vbuyy_plus_pbuc1_derefidx_vbuxx < clc adc {c1},x tax -vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:9.5 - lda {z1} - eor {c1},x +vbuxx=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:9.5 + lda {c1},x + eor {z1} tax vbuxx=pbuc1_derefidx_vbuxx_plus_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_plus_vbuz1 < vbuaa=vbuz1_plus_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A X cycles:11.5 lda {c1},x @@ -2119,9 +2129,9 @@ vbuxx=pbuc1_derefidx_vbuyy_plus_vbuyy < vbuxx=pbuc1_derefidx_vbuyy_plus_vbuaa < clc adc {c1},y tax -vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuxx=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A X cycles:9.5 - lda {z1} - eor {c1},y +vbuxx=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuxx=vbuaa_bxor_vbuz1 < vbuxx=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:9.5 + lda {c1},y + eor {z1} tax vbuxx=pbuc1_derefidx_vbuyy_plus_vbuz1 < vbuxx=vbuaa_plus_vbuz1 < vbuxx=vbuz1_plus_vbuaa < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A X cycles:11.5 lda {c1},y diff --git a/src/test/ref/fragments-assignment-binary-vbuyy.log b/src/test/ref/fragments-assignment-binary-vbuyy.log index b38361f5d..d18b9dd45 100644 --- a/src/test/ref/fragments-assignment-binary-vbuyy.log +++ b/src/test/ref/fragments-assignment-binary-vbuyy.log @@ -22,7 +22,9 @@ vbuyy=vbuaa_plus_vbuyy < vbuyy=vbuyy_plus_vbuaa < vbuaa=vbuyy_plus_vbuaa < vbuaa clc adc $ff tay -CANNOT SYNTHESIZE vbuyy=vbuaa_bxor_vbuz1 +vbuyy=vbuaa_bxor_vbuz1 < vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:5.0 + eor {z1} + tay vbuyy=vbuaa_plus_vbuz1 < vbuyy=vbuz1_plus_vbuaa < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y cycles:7.0 clc adc {z1} @@ -270,7 +272,10 @@ vbuyy=vbuyy_plus_vbuyy < vbuyy=vbuaa_plus_vbuaa < vbuaa=vbuaa_plus_vbuaa - clobb tya asl tay -CANNOT SYNTHESIZE vbuyy=vbuyy_bxor_vbuz1 +vbuyy=vbuyy_bxor_vbuz1 < vbuaa=vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:7.0 + tya + eor {z1} + tay vbuyy=vbuyy_band__deref_pbuz1 < vbuyy=_deref_pbuz1_band_vbuyy < vbuaa=_deref_pbuz1_band_vbuyy < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:11.5 tya ldy #0 @@ -377,7 +382,9 @@ vbuyy=vbuyy_plus_vbuc1 < vbuyy=vbuc1_plus_vbuyy < vbuaa=vbuc1_plus_vbuyy < vbuaa clc adc #{c1} tay -CANNOT SYNTHESIZE vbuyy=vbuz1_bxor_vbuaa +vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:5.0 + eor {z1} + tay vbuyy=vbuz1_band_vbuxx < vbuaa=vbuz1_band_vbuxx < vbuaa=vbuxx_band_vbuz1 < vbuaa=vbuaa_band_vbuz1 - clobber:A Y cycles:7.0 txa and {z1} @@ -404,7 +411,10 @@ vbuyy=vbuz1_plus_vbuz1 < vbuyy=vbuaa_plus_vbuaa < vbuaa=vbuaa_plus_vbuaa - clobb lda {z1} asl tay -CANNOT SYNTHESIZE vbuyy=vbuz1_bxor_vbuz2 +vbuyy=vbuz1_bxor_vbuz2 < vbuyy=vbuaa_bxor_vbuz1 < vbuyy=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:8.0 + lda {z1} + eor {z2} + tay vbuyy=vbuz1_band__deref_pbuz1 < vbuyy=vbuaa_band__deref_pbuz1 < vbuyy=_deref_pbuz1_band_vbuaa < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y cycles:12.5 lda {z1} ldy #0 @@ -491,10 +501,10 @@ vbuyy=vbuz1_bor_pbuz2_derefidx_vbuc1 < vbuyy=vbuaa_bor_pbuz1_derefidx_vbuc1 < vb ora ({z2}),y tay CANNOT SYNTHESIZE vbuyy=vbuz1_plus_pbuz2_derefidx_vbuc1 -vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuyy=vbuaa_bxor_pbuc1_derefidx_vbuyy < vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:11.5 +vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:11.5 tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} tay vbuyy=vbuz1_band_pbuc1_derefidx_vbuxx < vbuyy=pbuc1_derefidx_vbuxx_band_vbuz1 < vbuyy=vbuaa_band_vbuz1 < vbuyy=vbuz1_band_vbuaa < vbuaa=vbuz1_band_vbuaa < vbuaa=vbuaa_band_vbuz1 - clobber:A Y cycles:9.5 lda {c1},x @@ -1908,9 +1918,9 @@ vbuyy=pbuc1_derefidx_vbuxx_plus_vbuyy < vbuyy=vbuyy_plus_pbuc1_derefidx_vbuxx < clc adc {c1},x tay -vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y cycles:9.5 - lda {z1} - eor {c1},x +vbuyy=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:9.5 + lda {c1},x + eor {z1} tay vbuyy=pbuc1_derefidx_vbuxx_plus_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_plus_vbuz1 < vbuaa=vbuz1_plus_pbuc1_derefidx_vbuxx < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y cycles:11.5 lda {c1},x @@ -2126,9 +2136,9 @@ vbuyy=pbuc1_derefidx_vbuyy_plus_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuyy < clc adc {c1},y tay -vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:9.5 - lda {z1} - eor {c1},y +vbuyy=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuyy=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:9.5 + lda {c1},y + eor {z1} tay vbuyy=pbuc1_derefidx_vbuyy_plus_vbuz1 < vbuyy=vbuz1_plus_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_plus_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuz1 < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y cycles:11.5 lda {c1},y diff --git a/src/test/ref/fragments-assignment-binary-vbuz1.log b/src/test/ref/fragments-assignment-binary-vbuz1.log index 46b0a8d50..6a85ca286 100644 --- a/src/test/ref/fragments-assignment-binary-vbuz1.log +++ b/src/test/ref/fragments-assignment-binary-vbuz1.log @@ -12,8 +12,12 @@ vbuz1=vbuaa_bor_vbuyy < vbuaa=vbuaa_bor_vbuyy - clobber:A cycles:9.0 sty $ff ora $ff sta {z1} -CANNOT SYNTHESIZE vbuz1=vbuaa_bxor_vbuz1 -CANNOT SYNTHESIZE vbuz1=vbuaa_bxor_vbuz2 +vbuz1=vbuaa_bxor_vbuz1 < vbuz1=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:6.0 + eor {z1} + sta {z1} +vbuz1=vbuaa_bxor_vbuz2 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:6.0 + eor {z2} + sta {z1} vbuz1=vbuaa_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:12.5 sec ldy #0 @@ -230,7 +234,10 @@ vbuz1=vbuyy_bor_vbuz1 < vbuz1=vbuaa_bor_vbuz1 < vbuz1=vbuz1_bor_vbuaa < vbuaa=vb tya ora {z1} sta {z1} -CANNOT SYNTHESIZE vbuz1=vbuyy_bxor_vbuz2 +vbuz1=vbuyy_bxor_vbuz2 < vbuz1=vbuaa_bxor_vbuz2 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:8.0 + tya + eor {z2} + sta {z1} vbuz1=vbuyy_minus__deref_pbuz1 < vbuaa=vbuyy_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:14.5 tya sec @@ -327,7 +334,9 @@ vbuz1=vbuyy_bxor_vbuc1 < vbuaa=vbuyy_bxor_vbuc1 < vbuaa=vbuaa_bxor_vbuc1 - clobb tya eor #{c1} sta {z1} -CANNOT SYNTHESIZE vbuz1=vbuz1_bxor_vbuaa +vbuz1=vbuz1_bxor_vbuaa < vbuaa=vbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:6.0 + eor {z1} + sta {z1} vbuz1=vbuz1_minus_vbuxx < vbuz1=vbuz1_minus_vbuaa < vbuaa=vbuz1_minus_vbuaa - clobber:A cycles:12.0 txa eor #$ff @@ -463,7 +472,10 @@ vbuz1=vbuz2_bor_vbuz1 < vbuz1=vbuz1_bor_vbuz2 < vbuaa=vbuz1_bor_vbuz2 < vbuaa=vb lda {z1} ora {z2} sta {z1} -CANNOT SYNTHESIZE vbuz1=vbuz2_bxor_vbuz2 +vbuz1=vbuz2_bxor_vbuz2 < vbuaa=vbuz1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:9.0 + lda {z2} + eor {z2} + sta {z1} vbuz1=vbuz2_minus_vbuz3 < vbuaa=vbuz1_minus_vbuz2 < vbuaa=vbuaa_minus_vbuz1 - clobber:A cycles:11.0 lda {z2} sec @@ -1910,15 +1922,15 @@ vbuz1=pbuc1_derefidx_vbuaa_bor_vbuyy < vbuz1=vbuyy_bor_pbuc1_derefidx_vbuaa < vb tya ora {c1},x sta {z1} -vbuz1=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A X cycles:12.5 +vbuz1=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuaa < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuxx < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A X cycles:12.5 tax - lda {z1} - eor {c1},x + lda {c1},x + eor {z1} sta {z1} -vbuz1=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuz1=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y cycles:12.5 +vbuz1=pbuc1_derefidx_vbuaa_bxor_vbuz1 < vbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuz1=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A Y cycles:12.5 tay - lda {z1} - eor {c1},y + lda {c1},y + eor {z1} sta {z1} vbuz1=pbuc1_derefidx_vbuaa_minus_vbuz2 < vbuz1=pbuc1_derefidx_vbuxx_minus_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_minus_vbuz1 < vbuaa=vbuaa_minus_vbuz1 - clobber:A X cycles:14.5 tax @@ -2161,13 +2173,13 @@ vbuz1=pbuc1_derefidx_vbuxx_bor_vbuyy < vbuz1=vbuyy_bor_pbuc1_derefidx_vbuxx < vb tya ora {c1},x sta {z1} -vbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A cycles:10.5 - lda {z1} - eor {c1},x +vbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:10.5 + lda {c1},x + eor {z1} sta {z1} -vbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A cycles:10.5 - lda {z2} - eor {c1},x +vbuz1=pbuc1_derefidx_vbuxx_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:10.5 + lda {c1},x + eor {z2} sta {z1} vbuz1=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < vbuaa=pbuc1_derefidx_vbuxx_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:17.0 lda {c1},x @@ -2355,9 +2367,9 @@ vbuz1=pbuc1_derefidx_vbuyy_bor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuz1 < vb lda {c1},y ora {z1} sta {z1} -vbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A cycles:10.5 - lda {z2} - eor {c1},y +vbuz1=pbuc1_derefidx_vbuyy_bxor_vbuz2 < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:10.5 + lda {c1},y + eor {z2} sta {z1} vbuz1=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 < vbuaa=pbuc1_derefidx_vbuyy_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y cycles:17.0 lda {c1},y @@ -3852,9 +3864,9 @@ vbuz1=vbuc1_bor_vbuyy < vbuz1=vbuc1_bor_vbuaa < vbuz1=vbuaa_bor_vbuc1 < vbuaa=vb tya ora #{c1} sta {z1} -vbuz1=vbuc1_bxor_vbuz1 < vbuz1=vbuz1_bxor_vbuc1 < vbuaa=vbuz1_bxor_vbuc1 < vbuaa=vbuaa_bxor_vbuc1 - clobber:A cycles:8.0 - lda {z1} - eor #{c1} +vbuz1=vbuc1_bxor_vbuz1 < vbuz1=vbuz1_bxor_vbuc1 < vbuaa=vbuz1_bxor_vbuc1 < vbuaa=vbuc1_bxor_vbuz1 < vbuaa=vbuaa_bxor_vbuz1 - clobber:A cycles:8.0 + lda #{c1} + eor {z1} sta {z1} vbuz1=vbuc1_minus_vbuz2 < vbuaa=vbuc1_minus_vbuz1 < vbuaa=vbuaa_minus_vbuz1 - clobber:A cycles:10.0 lda #{c1} diff --git a/src/test/ref/line-anim.log b/src/test/ref/line-anim.log index 4aa5a7b00..4f663420f 100644 --- a/src/test/ref/line-anim.log +++ b/src/test/ref/line-anim.log @@ -3747,8 +3747,8 @@ divr16s: { adc #0 sta _13+1 //SEG160 [91] (byte) divr16s::neg#2 ← (byte) divr16s::neg#3 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_bxor_vbuc1 - lda neg - eor #1 + lda #1 + eor neg sta neg //SEG161 [92] (word~) divr16s::divisoru#4 ← (word)(signed word~) divr16s::$13 -- vwuz1=vwuz2 lda _13 diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm index 1a7006cd9..dcb94bf6e 100644 --- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm +++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.asm @@ -299,8 +299,8 @@ plexShowSprite: { lda PLEX_XPOS+1,x cmp #0 bne b1 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb and SPRITES_XMSB sta SPRITES_XMSB b2: diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log index 6202c50d7..33fcb0f5f 100644 --- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log +++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log @@ -3077,8 +3077,8 @@ plexShowSprite: { //SEG199 plexShowSprite::@3 b3: //SEG200 [112] (byte/word/dword~) plexShowSprite::$10 ← (byte/word/signed word/dword/signed dword) $ff ^ (byte) plex_sprite_msb#29 -- vbuz1=vbuc1_bxor_vbuz2 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb sta _10 //SEG201 [113] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte/word/dword~) plexShowSprite::$10 -- _deref_pbuc1=_deref_pbuc1_band_vbuz1 lda SPRITES_XMSB @@ -4045,8 +4045,8 @@ plexShowSprite: { //SEG199 plexShowSprite::@3 b3: //SEG200 [112] (byte/word/dword~) plexShowSprite::$10 ← (byte/word/signed word/dword/signed dword) $ff ^ (byte) plex_sprite_msb#29 -- vbuaa=vbuc1_bxor_vbuz1 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb //SEG201 [113] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte/word/dword~) plexShowSprite::$10 -- _deref_pbuc1=_deref_pbuc1_band_vbuaa and SPRITES_XMSB sta SPRITES_XMSB @@ -5051,8 +5051,8 @@ plexShowSprite: { bne b1 //SEG199 plexShowSprite::@3 //SEG200 [112] (byte/word/dword~) plexShowSprite::$10 ← (byte/word/signed word/dword/signed dword) $ff ^ (byte) plex_sprite_msb#29 -- vbuaa=vbuc1_bxor_vbuz1 - lda plex_sprite_msb - eor #$ff + lda #$ff + eor plex_sprite_msb //SEG201 [113] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte/word/dword~) plexShowSprite::$10 -- _deref_pbuc1=_deref_pbuc1_band_vbuaa and SPRITES_XMSB sta SPRITES_XMSB diff --git a/src/test/ref/roll-sprite-msb.log b/src/test/ref/roll-sprite-msb.log index fcb487883..437777e4e 100644 --- a/src/test/ref/roll-sprite-msb.log +++ b/src/test/ref/roll-sprite-msb.log @@ -784,8 +784,8 @@ position_sprite: { !e: sta _4 //SEG36 [20] (byte/word/dword~) position_sprite::$5 ← (byte/signed byte/word/signed word/dword/signed dword~) position_sprite::$4 ^ (byte/word/signed word/dword/signed dword) $ff -- vbuz1=vbuz2_bxor_vbuc1 - lda _4 - eor #$ff + lda #$ff + eor _4 sta _5 //SEG37 [21] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte/word/dword~) position_sprite::$5 -- _deref_pbuc1=_deref_pbuc1_band_vbuz1 lda SPRITES_XMSB diff --git a/src/test/ref/test-division.asm b/src/test/ref/test-division.asm index 6987878cf..ce93f5072 100644 --- a/src/test/ref/test-division.asm +++ b/src/test/ref/test-division.asm @@ -465,8 +465,8 @@ div8s: { clc adc #1 tax - lda neg - eor #1 + lda #1 + eor neg sta neg jmp b4 b1: diff --git a/src/test/ref/test-division.log b/src/test/ref/test-division.log index ee17c9349..0ff0248ce 100644 --- a/src/test/ref/test-division.log +++ b/src/test/ref/test-division.log @@ -5242,8 +5242,8 @@ divr16s: { adc #0 sta _13+1 //SEG220 [109] (byte) divr16s::neg#2 ← (byte) divr16s::neg#3 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_bxor_vbuc1 - lda neg - eor #1 + lda #1 + eor neg sta neg //SEG221 [110] (word~) divr16s::divisoru#4 ← (word)(signed word~) divr16s::$13 -- vwuz1=vwuz2 lda _13 @@ -5757,8 +5757,8 @@ div8s: { adc #1 sta _8 //SEG393 [190] (byte) div8s::neg#2 ← (byte) div8s::neg#3 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_bxor_vbuc1 - lda neg - eor #1 + lda #1 + eor neg sta neg //SEG394 [191] (byte~) div8s::divisoru#4 ← (byte)(signed byte~) div8s::$8 -- vbuz1=vbuz2 lda _8 @@ -7961,8 +7961,8 @@ div8s: { adc #1 tax //SEG393 [190] (byte) div8s::neg#2 ← (byte) div8s::neg#3 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_bxor_vbuc1 - lda neg - eor #1 + lda #1 + eor neg sta neg //SEG394 [191] (byte~) div8s::divisoru#4 ← (byte)(signed byte~) div8s::$8 jmp b4_from_b3 @@ -10207,8 +10207,8 @@ div8s: { adc #1 tax //SEG393 [190] (byte) div8s::neg#2 ← (byte) div8s::neg#3 ^ (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_bxor_vbuc1 - lda neg - eor #1 + lda #1 + eor neg sta neg //SEG394 [191] (byte~) div8s::divisoru#4 ← (byte)(signed byte~) div8s::$8 jmp b4