module

Intrinsics

Class methods

bitreverse128(id) : UInt128
Source
bitreverse16(id) : UInt16
Source
bitreverse32(id) : UInt32
Source
bitreverse64(id) : UInt64
Source
bitreverse8(id) : UInt8
Source
bswap128(id) : UInt128
Source
bswap16(id) : UInt16
Source
bswap32(id) : UInt32
Source
bswap64(id) : UInt64
Source
fshl128(a, b, count) : UInt128
Source
fshl16(a, b, count) : UInt16
Source
fshl32(a, b, count) : UInt32
Source
fshl64(a, b, count) : UInt64
Source
fshl8(a, b, count) : UInt8
Source
fshr128(a, b, count) : UInt128
Source
fshr16(a, b, count) : UInt16
Source
fshr32(a, b, count) : UInt32
Source
fshr64(a, b, count) : UInt64
Source
fshr8(a, b, count) : UInt8
Source
pause
Source
popcount128(src)
Source
popcount16(src) : Int16
Source
popcount32(src) : Int32
Source
popcount64(src) : Int64
Source
popcount8(src) : Int8
Source
read_cycle_counter
Source
unreachable

Should codegen to the following LLVM IR (before being inlined):

define internal void @"*Intrinsics::unreachable:NoReturn"() #12 {
entry:
  unreachable
}

Can be used like @llvm.assume(i1 cond) as unreachable unless (assumption).

WARNING: the behaviour of the program is undefined if the assumption is broken!

Source

Macros

countleading128(src, zero_is_undef)
Source
countleading16(src, zero_is_undef)
Source
countleading32(src, zero_is_undef)
Source
countleading64(src, zero_is_undef)
Source
countleading8(src, zero_is_undef)
Source
counttrailing128(src, zero_is_undef)
Source
counttrailing16(src, zero_is_undef)
Source
counttrailing32(src, zero_is_undef)
Source
counttrailing64(src, zero_is_undef)
Source
counttrailing8(src, zero_is_undef)
Source
debugtrap
Source
memcpy(dest, src, len, is_volatile)
Source
memmove(dest, src, len, is_volatile)
Source
memset(dest, val, len, is_volatile)
Source
va_end(ap)
Source
va_start(ap)
Source