Skip to main content

Mojo function

llvm_intrinsic

llvm_intrinsic[intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1]() -> $1

Calls an LLVM intrinsic with no arguments.

Calls an LLVM intrinsic with the name intrin and return type type.

Parameters:

  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Returns:

The result of calling the llvm intrinsic with no arguments.

llvm_intrinsic[T0: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0) -> $2

Calls an LLVM intrinsic with one argument.

Calls the intrinsic with the name intrin and return type type on argument arg0.

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The argument to call the LLVM intrinsic with. The type of arg0 must be T0.

Returns:

The result of calling the llvm intrinsic with arg0 as an argument.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1) -> $3

Calls an LLVM intrinsic with two arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0 and arg1.

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.

Returns:

The result of calling the llvm intrinsic with arg0 and arg1 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2) -> $4

Calls an LLVM intrinsic with three arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1 and arg2.

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.

Returns:

The result of calling the llvm intrinsic with arg0, arg1 and arg2 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, T3: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2, arg3: T3) -> $5

Calls an LLVM intrinsic with four arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1, arg2 and arg3.

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • T3 (AnyTrivialRegType): The type of the fourth argument to the intrinsic (arg3).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.
  • arg3 (T3): The fourth argument to call the LLVM intrinsic with. The type of arg3 must be T3.

Returns:

The result of calling the llvm intrinsic with arg0, arg1, arg2 and arg3 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, T3: AnyTrivialRegType, T4: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4) -> $6

Calls an LLVM intrinsic with five arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1, arg2, arg3 and arg4.

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • T3 (AnyTrivialRegType): The type of the fourth argument to the intrinsic (arg3).
  • T4 (AnyTrivialRegType): The type of the fifth argument to the intrinsic (arg4).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.
  • arg3 (T3): The fourth argument to call the LLVM intrinsic with. The type of arg3 must be T3.
  • arg4 (T4): The fifth argument to call the LLVM intrinsic with. The type of arg4 must be T4.

Returns:

The result of calling the llvm intrinsic with arg0...arg4 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, T3: AnyTrivialRegType, T4: AnyTrivialRegType, T5: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) -> $7

Calls an LLVM intrinsic with six arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1, ..., arg5

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • T3 (AnyTrivialRegType): The type of the fourth argument to the intrinsic (arg3).
  • T4 (AnyTrivialRegType): The type of the fifth argument to the intrinsic (arg4).
  • T5 (AnyTrivialRegType): The type of the sixth argument to the intrinsic (arg5).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.
  • arg3 (T3): The fourth argument to call the LLVM intrinsic with. The type of arg3 must be T3.
  • arg4 (T4): The fifth argument to call the LLVM intrinsic with. The type of arg4 must be T4.
  • arg5 (T5): The sixth argument to call the LLVM intrinsic with. The type of arg5 must be T5.

Returns:

The result of calling the llvm intrinsic with arg0...arg5 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, T3: AnyTrivialRegType, T4: AnyTrivialRegType, T5: AnyTrivialRegType, T6: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) -> $8

Calls an LLVM intrinsic with seven arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1, ..., arg6

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • T3 (AnyTrivialRegType): The type of the fourth argument to the intrinsic (arg3).
  • T4 (AnyTrivialRegType): The type of the fifth argument to the intrinsic (arg4).
  • T5 (AnyTrivialRegType): The type of the sixth argument to the intrinsic (arg5).
  • T6 (AnyTrivialRegType): The type of the seventh argument to the intrinsic (arg6).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.
  • arg3 (T3): The fourth argument to call the LLVM intrinsic with. The type of arg3 must be T3.
  • arg4 (T4): The fifth argument to call the LLVM intrinsic with. The type of arg4 must be T4.
  • arg5 (T5): The sixth argument to call the LLVM intrinsic with. The type of arg5 must be T5.
  • arg6 (T6): The seventh argument to call the LLVM intrinsic with. The type of arg6 must be T6.

Returns:

The result of calling the llvm intrinsic with arg0...arg6 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, T3: AnyTrivialRegType, T4: AnyTrivialRegType, T5: AnyTrivialRegType, T6: AnyTrivialRegType, T7: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, arg7: T7) -> $9

Calls an LLVM intrinsic with eight arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1, ..., arg7

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • T3 (AnyTrivialRegType): The type of the fourth argument to the intrinsic (arg3).
  • T4 (AnyTrivialRegType): The type of the fifth argument to the intrinsic (arg4).
  • T5 (AnyTrivialRegType): The type of the sixth argument to the intrinsic (arg5).
  • T6 (AnyTrivialRegType): The type of the seventh argument to the intrinsic (arg6).
  • T7 (AnyTrivialRegType): The type of the eighth argument to the intrinsic (arg7).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.
  • arg3 (T3): The fourth argument to call the LLVM intrinsic with. The type of arg3 must be T3.
  • arg4 (T4): The fifth argument to call the LLVM intrinsic with. The type of arg4 must be T4.
  • arg5 (T5): The sixth argument to call the LLVM intrinsic with. The type of arg5 must be T5.
  • arg6 (T6): The seventh argument to call the LLVM intrinsic with. The type of arg6 must be T6.
  • arg7 (T7): The eighth argument to call the LLVM intrinsic with. The type of arg7 must be T7.

Returns:

The result of calling the llvm intrinsic with arg0...arg7 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, T3: AnyTrivialRegType, T4: AnyTrivialRegType, T5: AnyTrivialRegType, T6: AnyTrivialRegType, T7: AnyTrivialRegType, T8: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, arg7: T7, arg8: T8) -> $10

Calls an LLVM intrinsic with nine arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1, ..., arg8

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • T3 (AnyTrivialRegType): The type of the fourth argument to the intrinsic (arg3).
  • T4 (AnyTrivialRegType): The type of the fifth argument to the intrinsic (arg4).
  • T5 (AnyTrivialRegType): The type of the sixth argument to the intrinsic (arg5).
  • T6 (AnyTrivialRegType): The type of the seventh argument to the intrinsic (arg6).
  • T7 (AnyTrivialRegType): The type of the eighth argument to the intrinsic (arg7).
  • T8 (AnyTrivialRegType): The type of the ninth argument to the intrinsic (arg8).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.
  • arg3 (T3): The fourth argument to call the LLVM intrinsic with. The type of arg3 must be T3.
  • arg4 (T4): The fifth argument to call the LLVM intrinsic with. The type of arg4 must be T4.
  • arg5 (T5): The sixth argument to call the LLVM intrinsic with. The type of arg5 must be T5.
  • arg6 (T6): The seventh argument to call the LLVM intrinsic with. The type of arg6 must be T6.
  • arg7 (T7): The eighth argument to call the LLVM intrinsic with. The type of arg7 must be T7.
  • arg8 (T8): The ninth argument to call the LLVM intrinsic with. The type of arg8 must be T8.

Returns:

The result of calling the llvm intrinsic with arg0...arg8 as arguments.

llvm_intrinsic[T0: AnyTrivialRegType, T1: AnyTrivialRegType, T2: AnyTrivialRegType, T3: AnyTrivialRegType, T4: AnyTrivialRegType, T5: AnyTrivialRegType, T6: AnyTrivialRegType, T7: AnyTrivialRegType, T8: AnyTrivialRegType, T9: AnyTrivialRegType, //, intrin: StringLiteral, type: AnyTrivialRegType, *, has_side_effect: Bool = 1](arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, arg7: T7, arg8: T8, arg9: T9) -> $11

Calls an LLVM intrinsic with ten arguments.

Calls the LLVM intrinsic with the name intrin and return type type on arguments arg0, arg1, ..., arg10

Parameters:

  • T0 (AnyTrivialRegType): The type of the first argument to the intrinsic (arg0).
  • T1 (AnyTrivialRegType): The type of the second argument to the intrinsic (arg1).
  • T2 (AnyTrivialRegType): The type of the third argument to the intrinsic (arg2).
  • T3 (AnyTrivialRegType): The type of the fourth argument to the intrinsic (arg3).
  • T4 (AnyTrivialRegType): The type of the fifth argument to the intrinsic (arg4).
  • T5 (AnyTrivialRegType): The type of the sixth argument to the intrinsic (arg5).
  • T6 (AnyTrivialRegType): The type of the seventh argument to the intrinsic (arg6).
  • T7 (AnyTrivialRegType): The type of the eighth argument to the intrinsic (arg7).
  • T8 (AnyTrivialRegType): The type of the ninth argument to the intrinsic (arg8).
  • T9 (AnyTrivialRegType): The type of the tenth argument to the intrinsic (arg9).
  • intrin (StringLiteral): The name of the llvm intrinsic.
  • type (AnyTrivialRegType): The return type of the intrinsic.
  • has_side_effect (Bool): If True the intrinsic will have side effects, otherwise its pure.

Args:

  • arg0 (T0): The first argument to call the LLVM intrinsic with. The type of arg0 must be T0.
  • arg1 (T1): The second argument to call the LLVM intrinsic with. The type of arg1 must be T1.
  • arg2 (T2): The third argument to call the LLVM intrinsic with. The type of arg2 must be T2.
  • arg3 (T3): The fourth argument to call the LLVM intrinsic with. The type of arg3 must be T3.
  • arg4 (T4): The fifth argument to call the LLVM intrinsic with. The type of arg4 must be T4.
  • arg5 (T5): The sixth argument to call the LLVM intrinsic with. The type of arg5 must be T5.
  • arg6 (T6): The seventh argument to call the LLVM intrinsic with. The type of arg6 must be T6.
  • arg7 (T7): The eighth argument to call the LLVM intrinsic with. The type of arg7 must be T7.
  • arg8 (T8): The ninth argument to call the LLVM intrinsic with. The type of arg8 must be T8.
  • arg9 (T9): The tenth argument to call the LLVM intrinsic with. The type of arg9 must be T9.

Returns:

The result of calling the llvm intrinsic with arg0...arg9 as arguments.