So I went into a nice problem of additing a some high precision number cababilities to the Java.
Namely 128 bit primitives, 256 bit primitives, and unlimited depth precision.
I already discovered why Intel preffers high endian, better for multiplying and forward iteration during addition.
IIRC SSE2 registers don’t support carry flag (or adc), so I might be forced to use a slighly less efficient algorithm for parallel computation.
This library seems to look interesting. It’s backed by byte arrays (could hotspot translate (a &0xff)*b(&0xff) to mul eax, ebx ?) I have also a nice asm code sniplets for addition of full native support to the hotspot under MMX compatibile IA32 platforms.
So whats are your thoughts on Java supporting 128 bit numbers natively?