Skip to content

Fallback dvrmu#779

Draft
ZERICO2005 wants to merge 5 commits intomasterfrom
fallback_dvrmu
Draft

Fallback dvrmu#779
ZERICO2005 wants to merge 5 commits intomasterfrom
fallback_dvrmu

Conversation

@ZERICO2005
Copy link
Copy Markdown
Contributor

@ZERICO2005 ZERICO2005 commented Apr 12, 2026

Implements the routines specified in this issue #780

Adds fallback implementations for ldiv_t ldiv(long, long), __i48dvrmu, __lldvrmu, and __llmulu

There is no way to test these routines without manually enabling them, but they were tested here: https://github.com/CE-Programming/toolchain/actions/runs/24297533754

Since the fallback __lldvrmu implementation is super slow I had to increase the timeout-time for test/regression/i48routines to pass. I estimate that the fallback routine is probably 3-5x slower overall.

__lldvrmu with exx:
 - 35F + 1 per worst case iteration
 - 2240F + 64 for 64 iterations
fallback __lldvrmu:
 - 85F + 38R + 20W + 2 per worst case iteration
 - 5540F + 2432R + 1280W + 128 for 64 iterations

__lldvrmu using exx takes 35F + 1 per iteration in the worst case so probably ~2400F overall.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant