Lines Matching refs:vt
429 class getMUBUFElements<ValueType vt> {
431 !if(!eq(vt, f16), 1,
432 !if(!eq(vt, v2f16), 2,
433 !if(!eq(vt, v3f16), 3,
434 !if(!eq(vt, v4f16), 4,
435 !if(!eq(vt.Size, 32), 1,
436 !if(!eq(vt.Size, 64), 2,
437 !if(!eq(vt.Size, 96), 3,
438 !if(!eq(vt.Size, 128), 4, 0)
1245 multiclass MUBUF_LoadIntrinsicPat<SDPatternOperator name, ValueType vt,
1246 string opcode, ValueType memoryVt = vt> {
1247 defvar st = !if(!eq(memoryVt, vt), name, mubuf_intrinsic_load<name, memoryVt>);
1250 (vt (st v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
1257 (vt (st v4i32:$rsrc, 0, i32:$voffset, i32:$soffset, timm:$offset,
1264 (vt (st v4i32:$rsrc, i32:$vindex, 0, i32:$soffset, timm:$offset,
1271 (vt (st v4i32:$rsrc, i32:$vindex, i32:$voffset, i32:$soffset, timm:$offset,
1327 multiclass MUBUF_StoreIntrinsicPat<SDPatternOperator name, ValueType vt,
1328 string opcode, ValueType memoryVt = vt> {
1329 defvar st = !if(!eq(memoryVt, vt), name, mubuf_intrinsic_store<name, memoryVt>);
1332 (st vt:$vdata, v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
1334 …(!cast<MUBUF_Pseudo>(opcode # _OFFSET_exact) getVregSrcForVT<vt>.ret:$vdata, SReg_128:$rsrc, SCSrc…
1339 (st vt:$vdata, v4i32:$rsrc, 0, i32:$voffset, i32:$soffset, timm:$offset,
1341 …(!cast<MUBUF_Pseudo>(opcode # _OFFEN_exact) getVregSrcForVT<vt>.ret:$vdata, VGPR_32:$voffset, SReg…
1346 (st vt:$vdata, v4i32:$rsrc, i32:$vindex, 0, i32:$soffset, timm:$offset,
1348 …(!cast<MUBUF_Pseudo>(opcode # _IDXEN_exact) getVregSrcForVT<vt>.ret:$vdata, VGPR_32:$vindex, SReg_…
1353 (st vt:$vdata, v4i32:$rsrc, i32:$vindex, i32:$voffset, i32:$soffset, timm:$offset,
1356 getVregSrcForVT<vt>.ret:$vdata,
1412 multiclass BufferAtomicPat<string OpPrefix, ValueType vt, string Inst, bit isIntr = 0> {
1417 # !if(isIntr, "", "_" # vt.Size));
1422 (vt (Op (MUBUFOffset v4i32:$srsrc, i32:$soffset, i16:$offset), vt:$vdata_in)),
1423 (!cast<MUBUF_Pseudo>(Inst # "_OFFSET" # InstSuffix) getVregSrcForVT<vt>.ret:$vdata_in,
1428 (vt (Op (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i32:$soffset, i16:$offset),
1429 vt:$vdata_in)),
1430 (!cast<MUBUF_Pseudo>(Inst # "_ADDR64" # InstSuffix) getVregSrcForVT<vt>.ret:$vdata_in,
1438 multiclass BufferAtomicIntrPat<string OpPrefix, ValueType vt, string Inst> {
1439 defm : BufferAtomicPat<OpPrefix, vt, Inst, /* isIntr */ 1>;
1442 multiclass BufferAtomicCmpSwapPat<ValueType vt, ValueType data_vt, string Inst> {
1447 # "_" # vt.Size);
1455 (vt (Op (MUBUFOffset v4i32:$srsrc, i32:$soffset, i16:$offset), data_vt:$vdata_in)),
1457 (EXTRACT_SUBREG (vt (COPY_TO_REGCLASS OffsetResDag, getVregSrcForVT<data_vt>.ret)),
1458 !if(!eq(vt, i32), sub0, sub0_sub1)),
1466 (vt (Op (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i32:$soffset, i16:$offset),
1469 (EXTRACT_SUBREG (vt (COPY_TO_REGCLASS Addr64ResDag, getVregSrcForVT<data_vt>.ret)),
1470 !if(!eq(vt, i32), sub0, sub0_sub1)),
1500 multiclass SIBufferAtomicPat<string OpPrefix, ValueType vt, string Inst,
1513 (vt (Op vt:$vdata_in, v4i32:$rsrc, 0, 0, i32:$soffset,
1516 getVregSrcForVT<vt>.ret:$vdata_in, SReg_128:$rsrc, SCSrc_b32:$soffset,
1521 (vt (Op vt:$vdata_in, v4i32:$rsrc, i32:$vindex, 0, i32:$soffset,
1524 getVregSrcForVT<vt>.ret:$vdata_in, VGPR_32:$vindex, SReg_128:$rsrc,
1529 (vt (Op vt:$vdata_in, v4i32:$rsrc, 0, i32:$voffset,
1532 getVregSrcForVT<vt>.ret:$vdata_in, VGPR_32:$voffset, SReg_128:$rsrc,
1537 (vt (Op vt:$vdata_in, v4i32:$rsrc, i32:$vindex, i32:$voffset,
1540 getVregSrcForVT<vt>.ret:$vdata_in,
1585 class NoUseBufferAtomic<SDPatternOperator Op, ValueType vt> : PatFrag <
1587 (vt (Op $src0, $src1, $src2, $src3, $src4, $src5, $src6, $src7)),
1595 multiclass BufferAtomicPatterns_NO_RTN<SDPatternOperator name, ValueType vt,
1598 (NoUseBufferAtomic<name, vt> vt:$vdata_in, v4i32:$rsrc, 0,
1601 …(!cast<MUBUF_Pseudo>(opcode # _OFFSET) getVregSrcForVT<vt>.ret:$vdata_in, SReg_128:$rsrc, SCSrc_b3…
1606 (NoUseBufferAtomic<name, vt> vt:$vdata_in, v4i32:$rsrc, i32:$vindex,
1609 …(!cast<MUBUF_Pseudo>(opcode # _IDXEN) getVregSrcForVT<vt>.ret:$vdata_in, VGPR_32:$vindex, SReg_128…
1614 (NoUseBufferAtomic<name, vt> vt:$vdata_in, v4i32:$rsrc, 0,
1617 …(!cast<MUBUF_Pseudo>(opcode # _OFFEN) getVregSrcForVT<vt>.ret:$vdata_in, VGPR_32:$voffset, SReg_12…
1622 (NoUseBufferAtomic<name, vt> vt:$vdata_in, v4i32:$rsrc, i32:$vindex,
1626 getVregSrcForVT<vt>.ret:$vdata_in,
1716 class MUBUFLoad_PatternADDR64 <MUBUF_Pseudo Instr_ADDR64, ValueType vt,
1718 (vt (constant_ld (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i32:$soffset,
1724 ValueType vt, PatFrag atomic_ld> {
1726 (vt (atomic_ld (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i32:$soffset, i16:$offset))),
1731 (vt (atomic_ld (MUBUFOffset v4i32:$rsrc, i32:$soffset, i16:$offset))),
1748 multiclass MUBUFLoad_Pattern <MUBUF_Pseudo Instr_OFFSET, ValueType vt,
1752 (vt (ld (MUBUFOffset v4i32:$srsrc, i32:$soffset, i16:$offset))),
1772 ValueType vt, PatFrag ld> {
1774 (vt (ld (MUBUFScratchOffen v4i32:$srsrc, i32:$vaddr,
1780 (vt (ld (MUBUFScratchOffset v4i32:$srsrc, i32:$soffset, u16imm:$offset))),
1788 ValueType vt, PatFrag ld_frag> {
1790 (ld_frag (MUBUFScratchOffen v4i32:$srsrc, i32:$vaddr, i32:$soffset, u16imm:$offset), vt:$in),
1795 (ld_frag (MUBUFScratchOffset v4i32:$srsrc, i32:$soffset, u16imm:$offset), vt:$in),
1812 foreach vt = Reg32Types.types in {
1813 defm : MUBUFScratchLoadPat <BUFFER_LOAD_DWORD_OFFEN, BUFFER_LOAD_DWORD_OFFSET, vt, load_private>;
1838 ValueType vt, PatFrag atomic_st> {
1841 (atomic_st (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i32:$soffset, i16:$offset), vt:$val),
1846 (atomic_st (MUBUFOffset v4i32:$rsrc, i32:$soffset, i16:$offset), vt:$val),
1860 multiclass MUBUFStore_Pattern <MUBUF_Pseudo Instr_OFFSET, ValueType vt,
1864 (st vt:$vdata, (MUBUFOffset v4i32:$srsrc, i32:$soffset, i16:$offset)),
1874 ValueType vt, PatFrag st,
1877 (st vt:$value, (MUBUFScratchOffen v4i32:$srsrc, i32:$vaddr,
1883 (st vt:$value, (MUBUFScratchOffset v4i32:$srsrc, i32:$soffset,
1895 foreach vt = Reg32Types.types in {
1896 defm : MUBUFScratchStorePat <BUFFER_STORE_DWORD_OFFEN, BUFFER_STORE_DWORD_OFFSET, vt, store_private…
1922 multiclass MTBUF_LoadIntrinsicPat<SDPatternOperator name, ValueType vt,
1923 string opcode, ValueType memoryVt = vt> {
1924 defvar st = !if(!eq(memoryVt, vt), name, mtbuf_intrinsic_load<name, memoryVt>);
1927 (vt (st v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
1935 (vt (st v4i32:$rsrc, i32:$vindex, 0, i32:$soffset, timm:$offset,
1943 (vt (st v4i32:$rsrc, 0, i32:$voffset, i32:$soffset, timm:$offset,
1951 (vt (st v4i32:$rsrc, i32:$vindex, i32:$voffset, i32:$soffset, timm:$offset,
1986 multiclass MTBUF_StoreIntrinsicPat<SDPatternOperator name, ValueType vt,
1987 string opcode, ValueType memoryVt = vt> {
1988 defvar st = !if(!eq(memoryVt, vt), name, mtbuf_intrinsic_store<name, memoryVt>);
1991 (st vt:$vdata, v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
1993 …(!cast<MTBUF_Pseudo>(opcode # _OFFSET_exact) getVregSrcForVT<vt>.ret:$vdata, SReg_128:$rsrc, SCSrc…
1999 (st vt:$vdata, v4i32:$rsrc, i32:$vindex, 0, i32:$soffset, timm:$offset,
2001 …(!cast<MTBUF_Pseudo>(opcode # _IDXEN_exact) getVregSrcForVT<vt>.ret:$vdata, VGPR_32:$vindex, SReg_…
2007 (st vt:$vdata, v4i32:$rsrc, 0, i32:$voffset, i32:$soffset, timm:$offset,
2009 …(!cast<MTBUF_Pseudo>(opcode # _OFFEN_exact) getVregSrcForVT<vt>.ret:$vdata, VGPR_32:$voffset, SReg…
2015 (st vt:$vdata, v4i32:$rsrc, i32:$vindex, i32:$voffset, i32:$soffset,
2018 getVregSrcForVT<vt>.ret:$vdata,