逐元素操作(Tile-Tile)¶
本文档描述两个 tile 之间的逐元素操作。
操作总数: 28
操作¶
TADD¶
该指令的详细介绍请见isa/TADD
AS Level 1 (SSA):
%dst = pto.tadd %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tadd ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TABS¶
该指令的详细介绍请见isa/TABS
AS Level 1 (SSA):
%dst = pto.tabs %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tabs ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TAND¶
该指令的详细介绍请见isa/TAND
AS Level 1 (SSA):
%dst = pto.tand %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tand ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TOR¶
该指令的详细介绍请见isa/TOR
AS Level 1 (SSA):
%dst = pto.tor %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tor ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TSUB¶
该指令的详细介绍请见isa/TSUB
AS Level 1 (SSA):
%dst = pto.tsub %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tsub ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TMUL¶
该指令的详细介绍请见isa/TMUL
AS Level 1 (SSA):
%dst = pto.tmul %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tmul ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TMIN¶
该指令的详细介绍请见isa/TMIN
AS Level 1 (SSA):
%dst = pto.tmin %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tmin ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TMAX¶
该指令的详细介绍请见isa/TMAX
AS Level 1 (SSA):
%dst = pto.tmax %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tmax ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TCMP¶
该指令的详细介绍请见isa/TCMP
AS Level 1 (SSA):
%dst = pto.tcmp %src0, %src1{cmpMode = #pto<cmp xx>}: (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tcmp ins(%src0, %src1{cmpMode = #pto<cmp xx>}: !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TDIV¶
该指令的详细介绍请见isa/TDIV
AS Level 1 (SSA):
%dst = pto.tdiv %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tdiv ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TSHL¶
该指令的详细介绍请见isa/TSHL
AS Level 1 (SSA):
%dst = pto.tshl %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tshl ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TSHR¶
该指令的详细介绍请见isa/TSHR
AS Level 1 (SSA):
%dst = pto.tshr %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tshr ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TXOR¶
该指令的详细介绍请见isa/TXOR
AS Level 1 (SSA):
%dst = pto.txor %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.txor ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TLOG¶
该指令的详细介绍请见isa/TLOG
AS Level 1 (SSA):
%dst = pto.tlog %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tlog ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TRECIP¶
该指令的详细介绍请见isa/TRECIP
AS Level 1 (SSA):
%dst = pto.trecip %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.trecip ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TPRELU¶
该指令的详细介绍请见isa/TPRELU
AS Level 1 (SSA):
%dst = pto.tprelu %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tprelu ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TADDC¶
该指令的详细介绍请见isa/TADDC
AS Level 1 (SSA):
%dst = pto.taddc %src0, %src1, %src2 : (!pto.tile<...>, !pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.taddc ins(%src0, %src1, %src2 : !pto.tile_buf<...>, !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TSUBC¶
该指令的详细介绍请见isa/TSUBC
AS Level 1 (SSA):
%dst = pto.tsubc %src0, %src1, %src2 : (!pto.tile<...>, !pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tsubc ins(%src0, %src1, %src2 : !pto.tile_buf<...>, !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TCVT¶
该指令的详细介绍请见isa/TCVT
AS Level 1 (SSA):
%dst = pto.tcvt %src{rmode = #pto<round_mode xx>}: !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tcvt ins(%src{rmode = #pto<round_mode xx>}: !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TSEL¶
该指令的详细介绍请见isa/TSEL
AS Level 1 (SSA):
%dst = pto.tsel %mask, %src0, %src1 : (!pto.tile<...>, !pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.tsel ins(%mask, %src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TRSQRT¶
该指令的详细介绍请见isa/TRSQRT
AS Level 1 (SSA):
%dst = pto.trsqrt %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.trsqrt ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TSQRT¶
该指令的详细介绍请见isa/TSQRT
AS Level 1 (SSA):
%dst = pto.tsqrt %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tsqrt ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TEXP¶
该指令的详细介绍请见isa/TEXP
AS Level 1 (SSA):
%dst = pto.texp %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.texp ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TNOT¶
该指令的详细介绍请见isa/TNOT
AS Level 1 (SSA):
%dst = pto.tnot %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tnot ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TRELU¶
该指令的详细介绍请见isa/TRELU
AS Level 1 (SSA):
%dst = pto.trelu %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.trelu ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TNEG¶
该指令的详细介绍请见isa/TNEG
AS Level 1 (SSA):
%dst = pto.tneg %src : !pto.tile<...> -> !pto.tile<...>
AS Level 2 (DPS):
pto.tneg ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TREM¶
该指令的详细介绍请见isa/TREM
AS Level 1 (SSA):
%dst = pto.trem %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>
AS Level 2 (DPS):
pto.trem ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)
TFMOD¶
该指令的详细介绍请见isa/TFMOD
AS Level 1 (SSA):
%dst = pto.tfmod %src0, %src1 : !pto.tile<...>
AS Level 2 (DPS):
pto.tfmod ins(%src0, %src1 : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)