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
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]
An issue regarding flags during ldhl was fixed in [r16670]; the regtrack test is passing now.
Related
Commit: [r16670]
Fixed in [r16671].
Related
Commit: [r16671]