Liste des Groupes | Revenir à c arch |
In my case, BGBCC supports __int128 operations whether or not the ALUX instructions are enabled (along with _BitInt, *1).I am guessing that your CPU does not do 128, 256, 384 bit calculations
*1:
_BitInt(56) x0; //maps to 64-bit
_BitInt(64) x1; //maps to 64-bit
_BitInt(80) x2; //maps to 128-bit
_BitInt(128) x3; //maps to 128-bit
_BitInt(160) x4; //maps to 256-bit
_BitInt(256) x5; //maps to 256-bit
_BitInt(272) x6; //maps to 384-bit
...
All sizes beyond 256 bit mapping to the next integer multiple of 128 bits. The 256-bit type is special, in that it has its own dedicated logic, but exists via the _BitInt type. For 384 and beyond, generic logic is used that deals with any size value, but is slower.
Can note that in my implementation, BitInt does not enforce modulo behavior in the case of overflow (it is modulo only to the size of the container; enforcing odd-bit modulo behavior would add a fair bit of cost to using them).The multi-precision arithmetic in My 66000 supports rather arbitrary width calculations, although only those 256-bits and smaller can be considered fast and/or efficient. In addition, both signed and unsigned multi-precision arithmetic is available.
Terje
>
Les messages affichés proviennent d'usenet.