Compiler suite on tt-emule
This page summarizes a full compiler-suite run on tt-emule on September 19,
2026. It ran on macOS inside linux/amd64 Docker, using the pinned
tt-emule/tt-metal stack and P150 target in config/tt-lang-emule-stack.json.
Later revisions have not necessarily rerun the complete suite.
What was run
The complete compiler suite was started with:
cmake --build /ttlang-build --target check-ttlang-all
Because that aggregate target stops after a failing group, the later end-to-end and Python lit groups were then run separately. The combined result was:
Group |
Result |
|---|---|
MLIR |
528 passed |
Python bindings |
5 passed |
Packaging |
199 passed |
Compiler and device pytest |
4,019 passed, 161 failed, 64 skipped, 8 expected failures |
End-to-end |
859 passed, 34 expected failures |
Python lit |
132 passed, 4 failed, 1 unsupported |
Total |
5,742 passed, 165 failed, 65 skipped/unsupported, 42 expected failures |
What failed
The 165 failures fall into five observed failure groups:
132 dynamic-buffer tests: low-level generated code is incompatible with the x86 host JIT. Diagnostics include rejected RISC-V inline assembly and missing identifiers such as
p_gpr_unpack,LO_16, andsync_regfile_write.24 RMSNorm tests: the emulated JIT environment does not provide
ckernel_sfpu_rsqrt.h.2 dynamic-buffer reuse tests: execution completes, but 992 of 2,048 output values remain zero.
3 collective tests: one multicast loopback and two tree reductions produce incorrect output.
4 DPRINT lit tests: kernels execute, but the expected device-side DPRINT payload is not emitted.
These are failure groups rather than 165 independent bugs. The assembly, missing-identifier, and missing-header diagnostics identify immediate JIT failures; ownership of the incorrect-output and DPRINT failures still requires isolated reproducers. They are not all established tt-emule defects. The MLIR, bindings, and packaging groups had no failures; end-to-end tests had no unexpected failures.
Reproduce or narrow the run
After installing the supported environment as described in Getting started with compiler-backed emulation, enter its Docker test shell and activate the compiler as documented there. Inside that shell, use the normal test tools:
cmake --build /ttlang-build --target check-ttlang-all
pytest -c /ttlang-build/test/pytest.ini -v test/python
pytest -c /ttlang-build/test/pytest.ini -v test/me2e
llvm-lit -v /ttlang-build/test/python
Normal pytest and lit selectors can be used to reproduce one file or case; no
separate tt-lang-sim test interface is required.