Lines Matching defs:Waitcnt

923 struct Waitcnt {
932 Waitcnt() = default;
934 Waitcnt(unsigned VmCnt, unsigned ExpCnt, unsigned LgkmCnt, unsigned VsCnt)
939 Waitcnt(unsigned LoadCnt, unsigned ExpCnt, unsigned DsCnt, unsigned StoreCnt,
953 Waitcnt combined(const Waitcnt &Other) const {
956 return Waitcnt(
976 /// \returns Waitcnt bit mask for given isa \p Version.
979 /// \returns Decoded Vmcnt from given \p Waitcnt for given isa \p Version.
980 unsigned decodeVmcnt(const IsaVersion &Version, unsigned Waitcnt);
982 /// \returns Decoded Expcnt from given \p Waitcnt for given isa \p Version.
983 unsigned decodeExpcnt(const IsaVersion &Version, unsigned Waitcnt);
985 /// \returns Decoded Lgkmcnt from given \p Waitcnt for given isa \p Version.
986 unsigned decodeLgkmcnt(const IsaVersion &Version, unsigned Waitcnt);
988 /// Decodes Vmcnt, Expcnt and Lgkmcnt from given \p Waitcnt for given isa
994 /// \p Vmcnt = \p Waitcnt[3:0] (pre-gfx9)
995 /// \p Vmcnt = \p Waitcnt[15:14,3:0] (gfx9,10)
996 /// \p Vmcnt = \p Waitcnt[15:10] (gfx11)
997 /// \p Expcnt = \p Waitcnt[6:4] (pre-gfx11)
998 /// \p Expcnt = \p Waitcnt[2:0] (gfx11)
999 /// \p Lgkmcnt = \p Waitcnt[11:8] (pre-gfx10)
1000 /// \p Lgkmcnt = \p Waitcnt[13:8] (gfx10)
1001 /// \p Lgkmcnt = \p Waitcnt[9:4] (gfx11)
1003 void decodeWaitcnt(const IsaVersion &Version, unsigned Waitcnt,
1006 Waitcnt decodeWaitcnt(const IsaVersion &Version, unsigned Encoded);
1008 /// \returns \p Waitcnt with encoded \p Vmcnt for given isa \p Version.
1009 unsigned encodeVmcnt(const IsaVersion &Version, unsigned Waitcnt,
1012 /// \returns \p Waitcnt with encoded \p Expcnt for given isa \p Version.
1013 unsigned encodeExpcnt(const IsaVersion &Version, unsigned Waitcnt,
1016 /// \returns \p Waitcnt with encoded \p Lgkmcnt for given isa \p Version.
1017 unsigned encodeLgkmcnt(const IsaVersion &Version, unsigned Waitcnt,
1020 /// Encodes \p Vmcnt, \p Expcnt and \p Lgkmcnt into Waitcnt for given isa
1025 /// Waitcnt[2:0] = \p Expcnt (gfx11+)
1026 /// Waitcnt[3:0] = \p Vmcnt (pre-gfx9)
1027 /// Waitcnt[3:0] = \p Vmcnt[3:0] (gfx9,10)
1028 /// Waitcnt[6:4] = \p Expcnt (pre-gfx11)
1029 /// Waitcnt[9:4] = \p Lgkmcnt (gfx11)
1030 /// Waitcnt[11:8] = \p Lgkmcnt (pre-gfx10)
1031 /// Waitcnt[13:8] = \p Lgkmcnt (gfx10)
1032 /// Waitcnt[15:10] = \p Vmcnt (gfx11)
1033 /// Waitcnt[15:14] = \p Vmcnt[5:4] (gfx9,10)
1035 /// \returns Waitcnt with encoded \p Vmcnt, \p Expcnt and \p Lgkmcnt for given
1041 unsigned encodeWaitcnt(const IsaVersion &Version, const Waitcnt &Decoded);
1075 /// \returns Decoded Waitcnt structure from given \p LoadcntDscnt for given
1077 Waitcnt decodeLoadcntDscnt(const IsaVersion &Version, unsigned LoadcntDscnt);
1079 /// \returns Decoded Waitcnt structure from given \p StorecntDscnt for given
1081 Waitcnt decodeStorecntDscnt(const IsaVersion &Version, unsigned StorecntDscnt);
1086 unsigned encodeLoadcntDscnt(const IsaVersion &Version, const Waitcnt &Decoded);
1091 unsigned encodeStorecntDscnt(const IsaVersion &Version, const Waitcnt &Decoded);