kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

commit be98de5e51866601a18064d691b78e7be4d03fda
parent 586ad5a64c6b437ca1ea066d3845e42aadc1f491
Author: Ryan Sepassi <rsepassi@gmail.com>
Date:   Fri, 29 May 2026 12:42:43 -0700

test: add opt-in test-parse-rv64-wide target for rv64 128-bit scalars

End-to-end coverage of __int128 (i128_*) and IEEE-754 binary128 long double
(ldbl128_*) built with cfree and run on riscv64 — exercises the soft-float / i128
runtime lowering, the LP64D register-pair ABI for 16-byte scalars, and the
conditional-branch range fix the large soft-float helpers depend on. Opt-in
(needs qemu/podman riscv64), excluded from the default test target like
test-smoke-rv64.

Diffstat:
Mtest/test.mk | 14++++++++++++++
1 file changed, 14 insertions(+), 0 deletions(-)

diff --git a/test/test.mk b/test/test.mk @@ -70,6 +70,7 @@ TEST_TARGETS = \ test-parse \ test-parse-err \ test-parse-ok \ + test-parse-rv64-wide \ test-pp \ test-pp-err \ test-pp-ok \ @@ -602,6 +603,19 @@ test-smoke-x64: test-smoke-rv64: bash test/smoke/rv64.sh +# test-parse-rv64-wide: end-to-end coverage of the rv64 128-bit scalar types +# — __int128 (i128_*) and IEEE-754 binary128 long double (ldbl128_*) — built +# with cfree and run on riscv64. Exercises the soft-float / i128 lowering to +# the compiler-rt-style runtime (fp_tf, fp_ti, int64), the LP64D register-pair +# ABI for 16-byte scalars, and the conditional-branch range fix that large +# soft-float helpers depend on. Opt-in (needs qemu-riscv64 or podman with +# riscv64 emulation), so excluded from the default `test` target; mirrors +# test-smoke-rv64. Run a single case with +# CFREE_TEST_ARCH=rv64 bash test/parse/run.sh ldbl128_03_arith +test-parse-rv64-wide: lib rt-riscv64-linux $(PARSE_RUNNER) $(ROUNDTRIP_BIN) \ + $(LINK_EXE_RUNNER) + @CFREE_TEST_ARCH=rv64 CFREE_TEST_PATHS=RE bash test/parse/run.sh 128 + # test-bounce: format-bounce stress test. Compiles small programs with # cfree, then bounces each object through chains of format conversions # (ELF<->Mach-O<->COFF), partial links (ld -r), strip, and archive