Elementwise (Tile-Tile)¶
This document describes element-wise operations between two tiles.
Total Operations: 28
Operations¶
TADD¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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¶
For detailed instruction documentation, see 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<...>)