On 10/25/26 8:21 PM, Sam Price wrote:
Two week soft poke.
The 64 bit signed integer modulus is currently broken in gcc. I see
two possible ways to fix this.
- Fixing the assembly version. I tracked the algorithm back to
Koren's text book "Computer Arithmetic Algorithms" section 3.2, and
added defines rather than registers to make it a bit easier to read.
- Applying the patch that's similar to the version Xilinx/AMD has been
using. They reverted the assembly version, and use the stock version
other bsps use.
The assembly version is a lot smaller, and uses 20-30% less
instructions than the base version.
Both of the provided patches were tested with the gcc torture tests.
Showing stock version broken, and the patches fixing signed 64 bit
integer modulus.
Michael Eager usually chimes in on microblaze stuff. Essentially
waiting on his input.
jeff