aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/035-push/push.py
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-08 13:39:18 +0100
committereunhhu <[email protected]>2026-10-08 13:39:18 +0100
commitea9507f1c1f97e453d02f3610a03558974de5240 (patch)
treeed7f48478c40510f6422ffb2d1f31b3a7a2f86f2 /research/experiments/035-push/push.py
parent43815a41bfab2f561bf69ecb0bd5de75bef3678a (diff)
downloadpure-ea9507f1c1f97e453d02f3610a03558974de5240.tar.gz
pure-ea9507f1c1f97e453d02f3610a03558974de5240.zip
042 tiles (research 133): a register-tile interpreter in two forms, computed goto in one function (make.py: GCC spills every slot across the indirect branch) and threaded tail calls with the slots as vector arguments (make2.py: an operation its vector instructions, a load and a branch; clang's musttail, GCC's sibling calls); knapsack's inner loop, BFS's frontier and roots' Newton steps against tight passes and C: roots 5.8 ms (C 6.9, the compiled code 9.57), knapsack 29.4 (passes 2.9 with clang, 9.6 gcc; C 6.2; compiled 7.9), BFS 18.1 (passes 9.8; C 8.6; compiled 7.7); NEON gathers lane by lane cost the tiles what they gain in registers
Diffstat (limited to 'research/experiments/035-push/push.py')
0 files changed, 0 insertions, 0 deletions