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<...>)