Extended
Rarer instructions are here; ones that do not fit in the 8-bit Tag enum.
noreturn instructions may not go here; they must be part of the main Tag enum.
Fields of this type
Fields
- struct_decl:struct_decl
- A struct type definition.
- enum_decl:enum_decl
- An enum type definition.
- union_decl:union_decl
- A union type definition.
- opaque_decl:opaque_decl
- An opaque type definition.
- tuple_decl:tuple_decl
- A tuple type.
- this:this
- Implements the `@This` builtin.
- ret_addr:ret_addr
- Implements the `@returnAddress` builtin.
- builtin_src:builtin_src
- Implements the `@src` builtin.
- error_return_trace:error_return_trace
- Implements the `@errorReturnTrace` builtin.
- frame:frame
- Implements the `@frame` builtin.
- frame_address:frame_address
- Implements the `@frameAddress` builtin.
- alloc:alloc
- Same as `alloc` from `Tag` but may contain an alignment instruction.
- builtin_extern:builtin_extern
- The `@extern` builtin.
- @"asm":@"asm"
- Inline assembly.
- asm_expr:asm_expr
- Same as `asm` except the assembly template is not a string literal but a comptime
- compile_log:compile_log
- Log compile time variables and emit an error message.
- typeof_peer:typeof_peer
- The builtin `@TypeOf` which returns the type after Peer Type Resolution
- min_multi:min_multi
- Implements the `@min` builtin for more than 2 args.
- max_multi:max_multi
- Implements the `@max` builtin for more than 2 args.
- add_with_overflow:add_with_overflow
- Implements the `@addWithOverflow` builtin.
- sub_with_overflow:sub_with_overflow
- Implements the `@subWithOverflow` builtin.
- mul_with_overflow:mul_with_overflow
- Implements the `@mulWithOverflow` builtin.
- shl_with_overflow:shl_with_overflow
- Implements the `@shlWithOverflow` builtin.
- c_undef:c_undef
- `operand` is payload index to `UnNode`.
- c_include:c_include
- `operand` is payload index to `UnNode`.
- c_define:c_define
- `operand` is payload index to `BinNode`.
- wasm_memory_size:wasm_memory_size
- `operand` is payload index to `UnNode`.
- wasm_memory_grow:wasm_memory_grow
- `operand` is payload index to `BinNode`.
- prefetch:prefetch
- The `@prefetch` builtin.
- set_float_mode:set_float_mode
- Implement builtin `@setFloatMode`.
- error_cast:error_cast
- Implements the `@errorCast` builtin.
- breakpoint:breakpoint
- Implements `@breakpoint`.
- disable_instrumentation:disable_instrumentation
- Implement builtin `@disableInstrumentation`.
- disable_intrinsics:disable_intrinsics
- Implement builtin `@disableIntrinsics`.
- select:select
- Implements the `@select` builtin.
- int_from_error:int_from_error
- Implement builtin `@errToInt`.
- error_from_int:error_from_int
- Implement builtin `@errorFromInt`.
- reify:reify
- Implement builtin `@Type`.
- cmpxchg:cmpxchg
- Implements the `@cmpxchgStrong` and `@cmpxchgWeak` builtins.
- c_va_arg:c_va_arg
- Implement builtin `@cVaArg`.
- c_va_copy:c_va_copy
- Implement builtin `@cVaCopy`.
- c_va_end:c_va_end
- Implement builtin `@cVaEnd`.
- c_va_start:c_va_start
- Implement builtin `@cVaStart`.
- ptr_cast_full:ptr_cast_full
- Implements the following builtins:
- ptr_cast_no_dest:ptr_cast_no_dest
- `operand` is payload index to `UnNode`.
- work_item_id:work_item_id
- Implements the `@workItemId` builtin.
- work_group_size:work_group_size
- Implements the `@workGroupSize` builtin.
- work_group_id:work_group_id
- Implements the `@workGroupId` builtin.
- in_comptime:in_comptime
- Implements the `@inComptime` builtin.
- restore_err_ret_index:restore_err_ret_index
- Restores the error return index to its last saved state in a given
- closure_get:closure_get
- Retrieves a value from the current type declaration scope's closure.
- value_placeholder:value_placeholder
- Used as a placeholder instruction which is just a dummy index for Sema to replace
- field_parent_ptr:field_parent_ptr
- Implements the `@fieldParentPtr` builtin.
- builtin_value:builtin_value
- Get a type or value from `std.builtin`.
- branch_hint:branch_hint
- Provide a `@branchHint` for the current block.
- inplace_arith_result_ty:inplace_arith_result_ty
- Compute the result type for in-place arithmetic, e.g.
- dbg_empty_stmt:dbg_empty_stmt
- Marks a statement that can be stepped to but produces no code.
- astgen_error:astgen_error
- At this point, AstGen encountered a fatal error which terminated ZIR lowering for this body.
Type definitions in this namespace