src/intops/impl/intrinsics/x86

Source   Edit  

Intel/AMD intrinsics-based implementations of arithmetic operations for integers.

Procs

func borrow(a, b: uint32; borrow: bool): bool {....raises: [], inline, noinit,
    ...gcsafe, tags: [], forbids: [].}
Source   Edit  
func borrow(a, b: uint64; borrow: bool): bool {....raises: [], inline, noinit,
    ...gcsafe, raises: [], inline, noinit, ...gcsafe, tags: [], forbids: [].}
Source   Edit  
func borrowingSub(a, b: uint32; borrow: bool): (uint32, bool) {....raises: [],
    inline, noinit, ...gcsafe, tags: [], forbids: [].}
Source   Edit  
func borrowingSub(a, b: uint64; borrow: bool): (uint64, bool) {....raises: [],
    inline, noinit, ...gcsafe, raises: [], inline, noinit, ...gcsafe, tags: [],
    forbids: [].}
Source   Edit  
func builtinBorrowingSub(borrow: uint8; a, b: cuint; res: ptr uint32): uint8 {.
    importc: "_subborrow_u32", header: "<x86intrin.h>", nodecl, ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func builtinBorrowingSub(borrow: uint8; a, b: culonglong; res: ptr culonglong): uint8 {.
    importc: "_subborrow_u64", header: "<x86intrin.h>", nodecl, ...raises: [],
    inline, noinit, ...gcsafe, raises: [], inline, noinit, ...gcsafe, tags: [],
    forbids: [].}
Source   Edit  
func builtinCarryingAdd(carry: uint8; a, b: cuint; res: ptr cuint): uint8 {.
    importc: "_addcarry_u32", header: "<x86intrin.h>", nodecl, ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func builtinCarryingAdd(carry: uint8; a, b: culonglong; res: ptr culonglong): uint8 {.
    importc: "_addcarry_u64", header: "<x86intrin.h>", nodecl, ...raises: [],
    inline, noinit, ...gcsafe, raises: [], inline, noinit, ...gcsafe, tags: [],
    forbids: [].}
Source   Edit  
func carry(a, b: uint32; carry: bool): bool {....raises: [], inline, noinit,
    ...gcsafe, tags: [], forbids: [].}
Source   Edit  
func carry(a, b: uint64; carry: bool): bool {....raises: [], inline, noinit,
    ...gcsafe, raises: [], inline, noinit, ...gcsafe, tags: [], forbids: [].}
Source   Edit  
func carryingAdd(a, b: uint32; carry: bool): (uint32, bool) {....raises: [],
    inline, noinit, ...gcsafe, tags: [], forbids: [].}
Source   Edit  
func carryingAdd(a, b: uint64; carry: bool): (uint64, bool) {....raises: [],
    inline, noinit, ...gcsafe, raises: [], inline, noinit, ...gcsafe, tags: [],
    forbids: [].}
Source   Edit