Commit Graph
24 Commits
Author SHA1 Message Date
arti 00522b56fc tests: exercise wide 32-bit products and unsigned umul16
Add runtime markers for a full-width 32x32 multiply (0x12345678 * 0x9abcdef0
= 0x242d2080) and for a wide-dividend remainder, so a 16-bit-truncated MPYS or
a wrong FS1 cannot still produce the expected small results.  Compute the 16x16
unsigned product in unsigned arithmetic to remove the signed-overflow
annotation, and reject a regressed nuw nsw multiply in the optimized IR.
2026-11-12 06:17:29 +00:00
arti 7cd9a48ee3 tests: M4 multiply/divide and -O2 loop gates
Add a runtime marker test for 32x32 multiply, the 16x16 MPYU path, signed and
unsigned divide/remainder, and for sumto/squares compiled through the ordinary
tms-clang -O2 driver.  The linked assembly is also checked for MPYS/MPYU/
DIVS/DIVU and for a surviving sumto loop.
2026-11-12 06:04:56 +00:00
arti cfe751ccab driver: keep -O2 loops for the i64-less target
Scripts/tms-clang runs the generic opt pipeline without a target machine, so
the target cannot veto IndVarSimplify's exit-value replacement through TTI.
That rewrite turns sumto's closed form into an i33 multiply, which llc cannot
select.  Disable only that rewrite with -replexitval=never and document why.
2026-11-12 06:04:56 +00:00
arti 57ea80a5c0 tests: exercise every signed and unsigned predicate at runtime 2026-11-12 05:46:38 +00:00
arti 28c9ee7e3c tests: M4 unsigned runtime and private-label gates 2026-11-12 05:38:22 +00:00
arti 2681be26c0 tests: anchor the M3 Xlib displacement checks 2026-11-11 20:06:58 +00:00
arti ed58040fbd docs: M3 control flow and first Xlib window 2026-11-11 19:56:19 +00:00
arti 09db9e22e9 tests: M3 branches and first Xlib window in MAME 2026-11-11 19:46:00 +00:00
arti 2187f59b20 tests: M3 Xlib Display/Screen layout 2026-11-11 19:07:44 +00:00
arti 2d4919db36 docs: finalize M2 ABI and tail-call notes 2026-11-11 17:36:17 +00:00
arti f1a604d70e docs: correct M2 branch and epilogue guidance 2026-11-11 17:15:43 +00:00
arti 3a188b35fb docs: M2 TI ABI, ROM strlen and golden ABI check 2026-11-11 17:05:33 +00:00
arti 0008d7be20 tests: M2 TI ABI and ROM strlen in MAME 2026-11-11 16:50:06 +00:00
arti 7749cc810b scripts: fix stale M1 comments and tighten the harness checks
Preserve the dis34 output on a failed round-trip instead of claiming a
deleted temp file is kept, require GSPA "No Warnings" in addition to
"No Errors", and correct the six-function and M1 pipeline comments.
2026-11-11 10:15:34 +00:00
arti 56d6a71cb7 docs: M1 minimal backend and test convention 2026-11-11 09:53:23 +00:00
arti 755b3cb7b2 tests: link M1 char helpers and check MOVB 2026-11-11 08:53:41 +00:00
arti b638ab0fad tests: M1 dis34 round-trip 2026-11-11 08:43:17 +00:00
arti 6f776e1758 tests: pin the M1 .bss origin and second pointer marker 2026-11-11 08:39:58 +00:00
arti e0a721e3e1 tests: M1 GSPA/MAME smoke test 2026-11-11 08:31:19 +00:00
arti 668afbbf44 fix: address final review (subtarget, bool/char alignment, spike env, late-GEP tests) 2026-11-11 03:39:15 +00:00
arti 795fcdc14a build: clean LLVM fork build from pinned tag and patches 2026-11-11 03:26:36 +00:00
arti 92354e8761 scripts: add M0 clang/scale/opt/normalize wrapper and tests 2026-11-10 17:33:13 +00:00
arti 16c4189f16 llvm: add tms34010 triple, clang target info, and target skeleton 2026-11-10 17:18:55 +00:00
arti da553739c5 docs: TMS34010 LLVM design, spike, and workspace setup 2026-11-10 14:42:56 +00:00