Skip to content

Conversation

@pguyot
Copy link
Collaborator

@pguyot pguyot commented Sep 20, 2025

Continuation of #1770

Required on platforms with very few registers (armv6m)

These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

@pguyot pguyot force-pushed the w39/jit-reduce-register-usage-onbinary-matching branch 2 times, most recently from 637f4b7 to 4862e3d Compare September 27, 2025 07:42
@pguyot pguyot force-pushed the w39/jit-reduce-register-usage-onbinary-matching branch from 4862e3d to 55e7c29 Compare September 28, 2025 07:31
@pguyot pguyot marked this pull request as ready for review September 28, 2025 07:31
@bettio bettio merged commit cac5a1d into atomvm:main Sep 29, 2025
169 of 171 checks passed
@pguyot pguyot deleted the w39/jit-reduce-register-usage-onbinary-matching branch September 29, 2025 17:49
bettio added a commit that referenced this pull request Oct 4, 2025
Just in time compilation with aarch64 target

Continuation of:
- #1770
- #1833
- #1834
- #1835
- #1840
- #1841

These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
bettio added a commit that referenced this pull request Oct 22, 2025
Just in time compilation with armv6m target

Continuation of:
- #1770
- #1773
- #1833
- #1834
- #1835
- #1890
- #1878
- #1881
- #1887

The target is suitable for Pico, Pico2 and STM32.
Benchmark test on a Pico with SMP disabled shows a speed increase from 14% to
62%.

  | native (w34/jit-arm) | emulated (main) -- d8ecc02 | %
-- | -- | -- | --
pingpong_speed_test | 17437587 | 27590085 | 37 %
prime_speed_test | 13257293 | 35212412 | 62 %
prng_test | 1128949 | 1500967 | 25 %
pi_test | 26759537 | 58693061 | 54 %
sudoku_solution_test | 6420801 | 7471461 | 14 %
sudoku_puzzle_test | 254335968 | 333834045 | 24 %

Remark: the current backend requires 64 bits floats. 32 bits floats would need
a specific variant.

These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants