tvm
Namespaces | Macros | Functions
ir.h File Reference
#include <tvm/script/ir_builder/base.h>
#include <tvm/script/ir_builder/tir/frame.h>
#include <tvm/tir/op.h>
Include dependency graph for ir.h:

Go to the source code of this file.

Namespaces

 tvm
 runtime implementation for LibTorch/TorchScript.
 
 tvm::script
 
 tvm::script::ir_builder
 
 tvm::script::ir_builder::tir
 
 tvm::script::ir_builder::tir::axis
 

Macros

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName, DType)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES(DType, FDType)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(FuncName, FDType, Size)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES(DType, FDType)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES_FIXED_SIZE(DType, FDType)
 

Functions

Buffer tvm::script::ir_builder::tir::BufferDecl (Array< PrimExpr > shape, DataType dtype, String buffer_name, Optional< Var > data, Optional< Array< PrimExpr >> strides, Optional< PrimExpr > elem_offset, String storage_scope, int align, int offset_factor, String buffer_type, Optional< Array< IntImm >> axis_separators)
 The buffer declaration function. More...
 
PrimFuncFrame tvm::script::ir_builder::tir::PrimFunc (bool is_private)
 The primitive function statement. More...
 
Var tvm::script::ir_builder::tir::Arg (String name, Var var)
 The PrimFunc variable arguments adding function. More...
 
Buffer tvm::script::ir_builder::tir::Arg (String name, Buffer buffer)
 The PrimFunc buffer arguments adding function. More...
 
void tvm::script::ir_builder::tir::FuncName (String name)
 The PrimFunc naming statement. More...
 
void tvm::script::ir_builder::tir::FuncAttrs (Map< String, ObjectRef > attrs)
 The PrimFunc annotation statement. More...
 
Type tvm::script::ir_builder::tir::FuncRet (Type ret_type)
 The PrimFunc return type statement. More...
 
Buffer tvm::script::ir_builder::tir::MatchBuffer (ObjectRef param, Array< PrimExpr > shape, DataType dtype=DataType::Float(32), Optional< Var > data=NullOpt, Array< PrimExpr > strides={}, PrimExpr elem_offset=PrimExpr(), String storage_scope="global", int align=-1, int offset_factor=0, String buffer_type="default", Array< IntImm > axis_separators={})
 The buffer match statement. More...
 
BlockFrame tvm::script::ir_builder::tir::Block (String name, bool no_realize=false)
 The block declaration statement. More...
 
BlockInitFrame tvm::script::ir_builder::tir::Init ()
 The block initialization statement. More...
 
void tvm::script::ir_builder::tir::Where (PrimExpr predicate)
 The block predicate statement. More...
 
void tvm::script::ir_builder::tir::Reads (Array< ObjectRef > buffer_slices)
 The block buffer region reading statement. More...
 
void tvm::script::ir_builder::tir::Writes (Array< ObjectRef > buffer_slices)
 The block buffer region writing statement. More...
 
void tvm::script::ir_builder::tir::BlockAttrs (Map< String, ObjectRef > attrs)
 The block annotation statement. More...
 
Buffer tvm::script::ir_builder::tir::AllocBuffer (Array< PrimExpr > shape, DataType dtype=DataType::Float(32), Optional< Var > data=NullOpt, Array< PrimExpr > strides={}, PrimExpr elem_offset=PrimExpr(), String storage_scope="", int align=-1, int offset_factor=0, String buffer_type="default", Array< IntImm > axis_separators={})
 The buffer allocation function. More...
 
Var tvm::script::ir_builder::tir::axis::Spatial (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The spatial block axis defining function. More...
 
Var tvm::script::ir_builder::tir::axis::Reduce (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The reduced block axis defining function. More...
 
Var tvm::script::ir_builder::tir::axis::Scan (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The scanning block axis defining function. More...
 
Var tvm::script::ir_builder::tir::axis::Opaque (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The opaque block axis defining function. More...
 
Array< Var > tvm::script::ir_builder::tir::axis::Remap (String kinds, Array< PrimExpr > bindings, DataType dtype=DataType::Int(32))
 The block axis remapping function. More...
 
ForFrame tvm::script::ir_builder::tir::Serial (PrimExpr start, PrimExpr stop, Optional< Map< String, ObjectRef >> annotations=NullOpt)
 The serial For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Parallel (PrimExpr start, PrimExpr stop, Optional< Map< String, ObjectRef >> annotations=NullOpt)
 The parallel For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Vectorized (PrimExpr start, PrimExpr stop, Optional< Map< String, ObjectRef >> annotations=NullOpt)
 The vectorized For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Unroll (PrimExpr start, PrimExpr stop, Optional< Map< String, ObjectRef >> annotations=NullOpt)
 The unrolled For statement. More...
 
ForFrame tvm::script::ir_builder::tir::ThreadBinding (PrimExpr start, PrimExpr stop, String thread, Optional< Map< String, ObjectRef >> annotations=NullOpt)
 The thread-binding For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Grid (Array< PrimExpr > extents)
 The grid For statement. More...
 
AssertFrame tvm::script::ir_builder::tir::Assert (PrimExpr condition, String message)
 The assertion statement. More...
 
LetFrame tvm::script::ir_builder::tir::LetStmt (PrimExpr value, Optional< Type > type_annotation=NullOpt, Optional< Var > var=NullOpt)
 The let binding. More...
 
RealizeFrame tvm::script::ir_builder::tir::Realize (tvm::tir::BufferRegion buffer_slice, String storage_scope, PrimExpr condition)
 The realization. More...
 
AllocateFrame tvm::script::ir_builder::tir::Allocate (Array< PrimExpr > extents, DataType dtype, String storage_scope="", Optional< PrimExpr > condition=NullOpt, Optional< Map< String, ObjectRef >> annotations=NullOpt)
 The allocate node. More...
 
AllocateConstFrame tvm::script::ir_builder::tir::AllocateConst (NDArray data, DataType dtype, Array< PrimExpr > extents, Optional< Map< String, ObjectRef >> annotations=NullOpt)
 The allocate constant node. More...
 
AttrFrame tvm::script::ir_builder::tir::Attr (ObjectRef node, String attr_key, PrimExpr value)
 Create an attribute. More...
 
WhileFrame tvm::script::ir_builder::tir::While (PrimExpr condition)
 Create a while loop. More...
 
IfFrame tvm::script::ir_builder::tir::If (PrimExpr condition)
 Create an if statement. More...
 
ThenFrame tvm::script::ir_builder::tir::Then ()
 Create a then. More...
 
ElseFrame tvm::script::ir_builder::tir::Else ()
 Create an else. More...
 
DeclBufferFrame tvm::script::ir_builder::tir::DeclBuffer (Array< PrimExpr > shape, DataType dtype, String buffer_name, Optional< Var > data, Optional< Array< PrimExpr >> strides, Optional< PrimExpr > elem_offset, String storage_scope, int align, int offset_factor, String buffer_type, Optional< Array< IntImm >> axis_separators)
 The buffer declaration frame. More...
 
LaunchThreadFrame tvm::script::ir_builder::tir::LaunchThread (Var var, PrimExpr extent)
 Launch a thread. More...
 
LaunchThreadFrame tvm::script::ir_builder::tir::LaunchThread (String thread_tag, PrimExpr extent)
 Launch a new thread. More...
 
Var tvm::script::ir_builder::tir::EnvThread (String thread_tag, DataType dtype=DataType::Int(32))
 Bind a var to thread env. More...
 
void tvm::script::ir_builder::tir::BufferStore (Buffer buffer, PrimExpr value, Array< PrimExpr > indices, Optional< PrimExpr > predicate)
 Store data in a buffer. More...
 
void tvm::script::ir_builder::tir::Prefetch (Buffer buffer, Array< Range > bounds)
 The prefetch hint for a buffer. More...
 
void tvm::script::ir_builder::tir::Evaluate (PrimExpr value)
 Evaluate the input expression. More...
 
Var tvm::script::ir_builder::tir::Handle (runtime::DataType dtype=runtime::DataType::Void(), String storage_scope="global", bool is_size_var=false, bool is_unknown_type=false)
 Create a TIR var that represents a pointer. More...
 
PrimExpr tvm::script::ir_builder::tir::Float8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E4M3Float8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E4M3Float8x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E4M3Float8x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E4M3Float8x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E4M3Float8x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E4M3Float8x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E5M2Float8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E5M2Float8x4 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E5M2Float8x8 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E5M2Float8x16 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E5M2Float8x32 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::E5M2Float8x64 (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Boolean (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Void (Optional< PrimExpr > expr=NullOpt, bool is_size_var=false)
 

Macro Definition Documentation

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST (   FuncName,
  DType 
)
Value:
inline PrimExpr FuncName(Optional<PrimExpr> expr = NullOpt, bool is_size_var = false) { \
DataType dtype = DType; \
return expr.defined() \
? tvm::cast(dtype, expr.value()) \
: (is_size_var ? tvm::tir::SizeVar("", dtype) : tvm::tir::Var("", dtype)); \
}
a named variable represents a tensor index size
Definition: var.h:151
void FuncName(String name)
The PrimFunc naming statement.
runtime implementation for LibTorch/TorchScript.
Definition: analyzer.h:36
PrimExpr cast(const DataType &t, PrimExpr value, Span span=Span())
cast value to type.
constexpr runtime::NullOptType NullOpt
Definition: optional.h:169

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES (   FuncName,
  FDType,
  Size 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x8, FDType(Size, 8)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x16, FDType(Size, 16)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x32, FDType(Size, 32)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x64, FDType(Size, 64));
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName, DType)
Definition: ir.h:462

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES_FIXED_SIZE

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES_FIXED_SIZE (   DType,
  FDType 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType, FDType(1)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x4, FDType(4)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x8, FDType(8)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x16, FDType(16)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x32, FDType(32)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x64, FDType(64));

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES (   DType,
  FDType 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##8, FDType(8)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##16, FDType(16)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##32, FDType(32)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##64, FDType(64));

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES (   DType,
  FDType 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(DType##16, FDType, 16); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(DType##32, FDType, 32); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(DType##64, FDType, 64);
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(FuncName, FDType, Size)
Definition: ir.h:480