• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/

Lines Matching refs:Waitcnt

361 struct Waitcnt {
367 Waitcnt() {}
368 Waitcnt(unsigned VmCnt, unsigned ExpCnt, unsigned LgkmCnt, unsigned VsCnt)
371 static Waitcnt allZero(const IsaVersion &Version) {
372 return Waitcnt(0, 0, 0, Version.Major >= 10 ? 0 : ~0u);
374 static Waitcnt allZeroExceptVsCnt() { return Waitcnt(0, 0, 0, ~0u); }
380 bool dominates(const Waitcnt &Other) const {
385 Waitcnt combined(const Waitcnt &Other) const {
386 return Waitcnt(std::min(VmCnt, Other.VmCnt), std::min(ExpCnt, Other.ExpCnt),
401 /// \returns Waitcnt bit mask for given isa \p Version.
404 /// \returns Decoded Vmcnt from given \p Waitcnt for given isa \p Version.
405 unsigned decodeVmcnt(const IsaVersion &Version, unsigned Waitcnt);
407 /// \returns Decoded Expcnt from given \p Waitcnt for given isa \p Version.
408 unsigned decodeExpcnt(const IsaVersion &Version, unsigned Waitcnt);
410 /// \returns Decoded Lgkmcnt from given \p Waitcnt for given isa \p Version.
411 unsigned decodeLgkmcnt(const IsaVersion &Version, unsigned Waitcnt);
413 /// Decodes Vmcnt, Expcnt and Lgkmcnt from given \p Waitcnt for given isa
418 /// \p Vmcnt = \p Waitcnt[3:0] (pre-gfx9 only)
419 /// \p Vmcnt = \p Waitcnt[3:0] | \p Waitcnt[15:14] (gfx9+ only)
420 /// \p Expcnt = \p Waitcnt[6:4]
421 /// \p Lgkmcnt = \p Waitcnt[11:8] (pre-gfx10 only)
422 /// \p Lgkmcnt = \p Waitcnt[13:8] (gfx10+ only)
423 void decodeWaitcnt(const IsaVersion &Version, unsigned Waitcnt,
426 Waitcnt decodeWaitcnt(const IsaVersion &Version, unsigned Encoded);
428 /// \returns \p Waitcnt with encoded \p Vmcnt for given isa \p Version.
429 unsigned encodeVmcnt(const IsaVersion &Version, unsigned Waitcnt,
432 /// \returns \p Waitcnt with encoded \p Expcnt for given isa \p Version.
433 unsigned encodeExpcnt(const IsaVersion &Version, unsigned Waitcnt,
436 /// \returns \p Waitcnt with encoded \p Lgkmcnt for given isa \p Version.
437 unsigned encodeLgkmcnt(const IsaVersion &Version, unsigned Waitcnt,
440 /// Encodes \p Vmcnt, \p Expcnt and \p Lgkmcnt into Waitcnt for given isa
444 /// Waitcnt[3:0] = \p Vmcnt (pre-gfx9 only)
445 /// Waitcnt[3:0] = \p Vmcnt[3:0] (gfx9+ only)
446 /// Waitcnt[6:4] = \p Expcnt
447 /// Waitcnt[11:8] = \p Lgkmcnt (pre-gfx10 only)
448 /// Waitcnt[13:8] = \p Lgkmcnt (gfx10+ only)
449 /// Waitcnt[15:14] = \p Vmcnt[5:4] (gfx9+ only)
451 /// \returns Waitcnt with encoded \p Vmcnt, \p Expcnt and \p Lgkmcnt for given
456 unsigned encodeWaitcnt(const IsaVersion &Version, const Waitcnt &Decoded);