2026-09-08 Gabriele Gorla * support/regression/Makefile.in, support/regression/ports/mos6502: Removed unmantained support for sim65. * support/regression/ports/uc65c02/uCsim.cmd, support/regression/ports/uc65c02/spec.mk, support/regression/ports/uc6502/spec.mk, support/regression/ports/uc6502-stack-auto/spec.mk, support/regression/ports/uc6280/spec.mk: Spec files cleanup. * src/mos6502/gen.c, src/mos6502/m6502.h, src/mos6502/main.c, src/mos6502/port_huc6280.c, src/mos6502/port_mos6502.c, src/mos6502/port_mos65c02.c, src/mos6502/stackops.c, src/mos6502/tempops.c: Improve handling of enhanced instructions. * configure, configure.ac, device/lib/Makefile.in, device/lib/clean.mk, device/lib/mos65c02/_muluchar.s, device/lib/mos65c02/_setjmp.s, support/regression/MakeList, support/regression/ports/uc65c02/spec.mk, device/lib/mos65c02-stack-auto, device/lib/mos65c02-stack-auto/Makefile.in, device/lib/mos65c02-stack-auto/__sdcc_indirect_jsr.s, device/lib/mos65c02-stack-auto/__sdcc_regs.s, device/lib/mos65c02-stack-auto/_muluchar.s, device/lib/mos65c02-stack-auto/_setjmp.s, device/lib/mos65c02-stack-auto/atomic_flag_test_and_set.c, device/lib/mos65c02-stack-auto/crt0.s, support/regression/ports/uc65c02-stack-auto, support/regression/ports/uc65c02-stack-auto/support.c, support/regression/ports/uc65c02-stack-auto/spec.mk, support/regression/ports/uc65c02-stack-auto/uCsim.cmd: Add mos65c02-stack-auto target and regression. * device/lib/mos6502-stack-auto/Makefile.in, device/lib/mos6502-stack-auto/_muluchar.s, device/lib/mos6502-stack-auto/_setjmp.s, device/lib/mos65c02/_muluchar.s, device/lib/mos65c02/_setjmp.s, src/mos6502/port_huc6280.c, src/mos6502/port_mos6502.c, src/mos6502/port_mos65c02.c: Small cleanups. 2026-09-08 Maarten Brock * src/SDCCmem.c (printAllocInfo): print bit and pdata info * src/SDCCpeeph.c (operandBaseName): not everything starting with 'a' is acc (notUsed): mark regs from ic SEND and RET as used * src/mcs51/gen.c (cheapMove): optimize indirect copies to self (mcs51IsReturned, mcs51IsRegArg): bugfix also check dname * src/mcs51/main.c (updateOpRW): track bits * src/mcs51/peep.c (scan4op): check bits (mcs51notUsed): check all 8 regs and also the bits 2026-09-06 Gabriele Gorla * sdas/linksrc/lklist.c: Remove double printing of header. 2026-09-05 Maarten Brock * device/lib/_divslonglong.c: optimized * device/lib/mcs51/crtxpopr0.asm, * device/lib/mcs51/crtxpop.asm: made register bank independent * src/mcs51/gen.c (genUminusFloat): optimized in-place uminus, (genAnd, genOr, genXor): optimized IMMEDIATE * src/mcs51/main.c (mcs51opcodeDataTable): fixed jc/jnc reads psw * src/mcs51/peeph.def: swapped rules 302 & 303, fixed volatile, more general dead mov removal * support/regression/collate-results.py: print in fixed columns for easier comparison by a human 2026-09-02 Gabriele Gorla * sdas/asxxsrc/aslist.c: Apply patch from bug #4049, Thanks Jan Andersen. * support/regression/bug-2326.c: Add regression for bug #2326. 2026-09-01 Maarten Brock * sdas/asxxsrc/asexpr.c (term), * sdas/as8051/i51adr.c (addr): moved handling of bit-addressable [n] from term() to addr() * sdas/linksrc/lklist.c: fixed warning * sdas/linksrc/lkmem.c: fixed warning * src/SDCCglue.c (glue): removed equates for b0-b7 * src/mcs51/ralloc.c, * src/ds390/ralloc.c: renamed b0 - b7 to bits[0] - bits[7] * src/mcs51/gen.c (genMinusBits): replaced conditional jump with addition same #bytes, allows optimization if some Rn==0 (genLeftShift, genSignedRightShift, genRightShift): removed redundant code * src/mcs51/main.c: made mcs51opcodeDataTable const * support/util/NewAlloc.c (Safe_strndup): fixed warning