Menu

#4026 sm83 test failures with --opt-code-size --nosidechannels

closed-fixed
sm83 (8)
GBZ80
5
2 days ago
2 days ago
No

With fuzzing, I see some test-ucgbz80 tests (i.e. sm83) port tests failing. At first sight, what they have in common is the combination --opt-code-size --nosidechannels:

philipp@notebook7:~/sdcc-trunk/sdcc/support/regression$ make random-test-7978200105965414683 random-test-18310208972967232608
Creating random-7978200105965414683 based on ucgbz80 with additional options: --opt-code-size --nopurity --nolabelopt --no-peep --nosidechannels --max-allocs-per-node 512 
Running random-7978200105965414683 regression tests
Summary for 'random-7978200105965414683': 4 abnormal stops ( ), 52 failures, 36213 tests, 6249 test cases, 8109445 bytes, 13265776207 ticks
   Failure: bug-3471.c
   Failure: gcc-torture-execute-20111208-1.c
   abnormal stop: gcc-torture-execute-strcmp-1.c
   abnormal stop: gcc-torture-execute-strlen-1.c
   abnormal stop: gcc-torture-execute-strncmp-1.c
   abnormal stop: regtrack.c
   Failure: bitintrot_width_15_dist_8_storage_auto
   Failure: bitintrot_width_15_dist_8_storage_static
   Failure: bitintrot_width_15_dist_9_storage_auto
   Failure: bitintrot_width_15_dist_9_storage_static
   Failure: bitintrot_width_16_dist_9_storage_auto
   Failure: bitintrot_width_16_dist_9_storage_static
   Failure: bitintrot_width_65_dist_9_storage_auto
   Failure: bitintrot_width_65_dist_9_storage_static
   Failure: bitintrot_width_9_dist_20_storage_auto
   Failure: bitintrot_width_9_dist_20_storage_static
   Failure: bitintrot_width_9_dist_2_storage_auto
   Failure: bitintrot_width_9_dist_2_storage_static
   Failure: bitintrot_width_9_dist_32_storage_auto
   Failure: bitintrot_width_9_dist_32_storage_static
   Failure: bitintrot_width_9_dist_3_storage_auto
   Failure: bitintrot_width_9_dist_3_storage_static
   Failure: bitintrot_width_9_dist_4_storage_auto
   Failure: bitintrot_width_9_dist_4_storage_static
   Failure: bitintrot_width_9_dist_5_storage_auto
   Failure: bitintrot_width_9_dist_5_storage_static
   Failure: bitintrot_width_9_dist_6_storage_auto
   Failure: bitintrot_width_9_dist_6_storage_static

Creating random-18310208972967232608 based on ucgbz80 with additional options: --opt-code-size --nogenconstprop --nosidechannels --max-allocs-per-node 1024 
Running random-18310208972967232608 regression tests
Summary for 'random-18310208972967232608': 67 failures, 36227 tests, 6253 test cases, 7532240 bytes, 2554767392 ticks
   Failure: bp.c
   Failure: bug-3471.c
   Failure: fetchoverlap.c
   Failure: gcc-torture-execute-20111208-1.c
   Failure: bitintrot_width_15_dist_8_storage_auto
   Failure: bitintrot_width_15_dist_8_storage_static
   Failure: bitintrot_width_15_dist_9_storage_auto
   Failure: bitintrot_width_15_dist_9_storage_static
   Failure: bitintrot_width_16_dist_9_storage_auto
   Failure: bitintrot_width_16_dist_9_storage_static
   Failure: bitintrot_width_65_dist_9_storage_auto
   Failure: bitintrot_width_65_dist_9_storage_static
   Failure: bitintrot_width_9_dist_20_storage_auto
   Failure: bitintrot_width_9_dist_20_storage_static
   Failure: bitintrot_width_9_dist_2_storage_auto
   Failure: bitintrot_width_9_dist_2_storage_static
   Failure: bitintrot_width_9_dist_32_storage_auto
   Failure: bitintrot_width_9_dist_32_storage_static
   Failure: bitintrot_width_9_dist_3_storage_auto
   Failure: bitintrot_width_9_dist_3_storage_static
   Failure: bitintrot_width_9_dist_4_storage_auto
   Failure: bitintrot_width_9_dist_4_storage_static
   Failure: bitintrot_width_9_dist_5_storage_auto
   Failure: bitintrot_width_9_dist_5_storage_static
   Failure: bitintrot_width_9_dist_6_storage_auto
   Failure: bitintrot_width_9_dist_6_storage_static
   Failure: rotate_right_type_unsigned_int
   Failure: rotate_right_type_unsigned_short

Discussion

  • Philipp Klaus Krause

    The main issue was about register tracking on the count register in right shifts, and is fixed in [r16669]:

    ~~~~
    philipp@notebook7:~/sdcc-trunk/sdcc/support/regression$ make random-test-18310208972967232608 random-test-7978200105965414683 test-ucgbz80
    Creating random-18310208972967232608 based on ucgbz80 with additional options: --opt-code-size --nogenconstprop --nosidechannels --max-allocs-per-node 1024
    Running random-18310208972967232608 regression tests
    Summary for 'random-18310208972967232608': 9 failures, 36227 tests, 6253 test cases, 6568569 bytes, 2552663527 ticks
    Failure: bp.c
    Failure: bug-3471.c
    Failure: fetchoverlap.c
    Failure: gcc-torture-execute-20111208-1.c

    Creating random-7978200105965414683 based on ucgbz80 with additional options: --opt-code-size --nopurity --nolabelopt --no-peep --nosidechannels --max-allocs-per-node 512
    Running random-7978200105965414683 regression tests
    Summary for 'random-7978200105965414683': 4 abnormal stops ( ), 4 failures, 36213 tests, 6249 test cases, 7049619 bytes, 13263938217 ticks
    Failure: bug-3471.c
    Failure: gcc-torture-execute-20111208-1.c
    abnormal stop: gcc-torture-execute-strcmp-1.c
    abnormal stop: gcc-torture-execute-strlen-1.c
    abnormal stop: gcc-torture-execute-strncmp-1.c
    abnormal stop: regtrack.c
    ~~~~

     

    Related

    Commit: [r16669]

  • Philipp Klaus Krause

    An issue regarding flags during ldhl was fixed in [r16670]; the regtrack test is passing now.

     

    Related

    Commit: [r16670]

  • Philipp Klaus Krause

    • status: open --> closed-fixed
    • assigned_to: Philipp Klaus Krause
     
  • Philipp Klaus Krause

    Fixed in [r16671].

     

    Related

    Commit: [r16671]


Log in to post a comment.

Auth0 Logo