Arithmetic helper functions designed for efficient LLVM lowering.
These functions are intended for supporting arithmetic on field elements
modeled as multiple "limbs" (e.g. carry chains).
adc32 | Computes a + b + carry , returning the result along with the new carry.
32-bit version.
|
adc64 | Computes a + b + carry , returning the result along with the new carry.
64-bit version.
|
mac32 | Computes a + (b * c) + carry , returning the result along with the new carry.
32-bit version.
|
mac64 | Computes a + (b * c) + carry , returning the result along with the new carry.
64-bit version.
|
sbb32 | Computes a - (b + borrow) , returning the result along with the new borrow.
32-bit version.
|
sbb64 | Computes a - (b + borrow) , returning the result along with the new borrow.
64-bit version.
|