IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /docs/manual/basics.md). For the complete Mojo documentation index, see llms.txt.
Skip to main content
Version: 1.0.0
For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).

intrinsics

Defines intrinsics.

You can import these APIs from the sys package. For example:

from std.sys import PrefetchLocality

Structs​

Functions​

  • ​assume: Signals to the optimizer that the condition is always true. This allows the optimizer to optimize the code.
  • ​ballot: Returns a bitfield(Int32 or Int64) containing the result of its Bool argument in all active lanes, and zero in all inactive lanes. For example, ballot(True) returns EXEC mask.
  • ​compressed_store: Compresses the lanes of value, skipping mask lanes, and stores at addr.
  • ​expect: Provides information about expected (the most probable) value of val, which can be used by optimizers.
  • ​gather: Reads scalar values from a SIMD vector, and gathers them into one vector.
  • ​implicitarg_ptr: Get a pointer to AMD's implicit arguments table.
  • ​likely: Provides information that the most probable value of val is going to be True. This information can be used by optimizers.
  • ​llvm_intrinsic: Calls an LLVM intrinsic with the name intrin and return type type.
  • ​masked_load: Loads data from memory and return it, replacing masked lanes with values from the passthrough vector.
  • ​masked_store: Stores a value at a memory location, skipping masked lanes.
  • ​prefetch: Prefetches an instruction or data into cache before it is used.
  • ​readfirstlane: Get the value in the lowest active lane of the input operand.
  • ​scatter: Takes scalar values from a SIMD vector and scatters them into a vector of pointers.
  • ​sendmsg: Send a message to fixed function hardware. Refer to the specific ISA manual for the ops and messages.
  • ​strided_load: Loads values from addr according to a specific stride.
  • ​strided_store: Loads values from addr according to a specific stride.
  • ​unlikely: Provides information that the most probable value of val is going to be False. This information can be used by optimizers.