逐元素操作(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<...>)