数据移动/布局¶
本文档描述数据移动和布局转换操作。
操作总数: 12
操作¶
TEXTRACT¶
该指令的详细介绍请见isa/TEXTRACT
AS Level 1 (SSA):
%dst = pto.textract %src, %idxrow, %idxcol : (!pto.tile<...>, dtype, dtype) -> !pto.tile<...>
AS Level 2 (DPS):
pto.textract ins(%src, %idxrow, %idxcol : !pto.tile_buf<...>, dtype, dtype) outs(%dst : !pto.tile_buf<...>)
TEXTRACT_FP¶
该指令的详细介绍请见isa/TEXTRACT_FP
AS Level 1 (SSA):
%dst = pto.textract_fp %src, %idxrow, %idxcol : (!pto.tile<...>, dtype, dtype) -> !pto.tile<...>
AS Level 2 (DPS):
pto.textract_fp ins(%src, %idxrow, %idxcol : !pto.tile_buf<...>, dtype, dtype) outs(%dst : !pto.tile_buf<...>)
TIMG2COL¶
AS Level 1 (SSA):
%dst = pto.timg2col %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.timg2col ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TINSERT¶
该指令的详细介绍请见isa/TINSERT
AS Level 1 (SSA):
%dst = pto.tinsert %src[%r0, %r1] : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tinsert ins(%src[%r0, %r1] : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TINSERT_FP¶
该指令的详细介绍请见isa/TINSERT_FP
AS Level 1 (SSA):
%dst = pto.tinsert_fp %src, %fp, %idxrow, %idxcol : (!pto.tile<...>, !pto.tile<...>, dtype, dtype) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tinsert_fp ins(%src, %fp, %idxrow, %idxcol : !pto.tile_buf<...>, !pto.tile_buf<...>, dtype, dtype) outs(%dst : !pto.tile_buf<...>)
TFILLPAD¶
该指令的详细介绍请见isa/TFILLPAD
AS Level 1 (SSA):
%dst = pto.tfillpad %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tfillpad ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TFILLPAD_INPLACE¶
该指令的详细介绍请见isa/TFILLPAD_INPLACE
AS Level 1 (SSA):
%dst = pto.tfillpad_inplace %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tfillpad_inplace ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TFILLPAD_EXPAND¶
该指令的详细介绍请见isa/TFILLPAD_EXPAND
AS Level 1 (SSA):
%dst = pto.tfillpad_expand %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tfillpad_expand ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TMOV¶
该指令的详细介绍请见isa/TMOV
AS Level 1 (SSA):
%dst = pto.tmov.s2d %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tmov ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TMOV_FP¶
该指令的详细介绍请见isa/TMOV_FP
AS Level 1 (SSA):
%dst = pto.tmov.fp %src, %fp : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tmov.fp ins(%src, %fp : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TRESHAPE¶
该指令的详细介绍请见isa/TRESHAPE
AS Level 1 (SSA):
%dst = pto.treshape %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.treshape ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TTRANS¶
该指令的详细介绍请见isa/TTRANS
AS Level 1 (SSA):
%dst = pto.ttrans %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.ttrans ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TIMG2COL¶
该指令的详细介绍请见isa/TIMG2COL
AS Level 1 (SSA):
%dst = pto.timg2col %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.timg2col ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)