Skip to content

Add fallback division routines that do not use shadow registers or disable interupts #780

@ZERICO2005

Description

@ZERICO2005

Division is a very slow operation, so we have sped it up by disabling interrupts so we can use shadow registers and etc. However, other toolchains/environments for the eZ80 can't have CRT/libc routines disabling interrupts or using shadow registers. One example here AgonPlatform/agondev#38.

We currently provide a fallback implementation of __ldvrmu that does not use shadow registers. However, we do not have any fallback implementations for ldiv_t ldiv(long, long), __i48dvrmu, or __lldvrmu. Additionally, __llmulu clobbers SP.S, so we should also provide a fallback that does not do that.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions