Lines Matching refs:PhysReg

429  * PhysReg
433 struct PhysReg {
434 constexpr PhysReg() = default;
435 explicit constexpr PhysReg(unsigned r) : reg_b(r << 2) {}
439 constexpr bool operator==(PhysReg other) const { return reg_b == other.reg_b; }
440 constexpr bool operator!=(PhysReg other) const { return reg_b != other.reg_b; }
441 constexpr bool operator<(PhysReg other) const { return reg_b < other.reg_b; }
442 constexpr PhysReg advance(int bytes) const
444 PhysReg res = *this;
453 static constexpr PhysReg m0{124};
454 static constexpr PhysReg flat_scr_lo{102}; /* GFX8-GFX9, encoded differently on GFX6-7 */
455 static constexpr PhysReg flat_scr_hi{103}; /* GFX8-GFX9, encoded differently on GFX6-7 */
456 static constexpr PhysReg vcc{106};
457 static constexpr PhysReg vcc_hi{107};
458 static constexpr PhysReg tba{108}; /* GFX6-GFX8 */
459 static constexpr PhysReg tma{110}; /* GFX6-GFX8 */
460 static constexpr PhysReg ttmp0{112};
461 static constexpr PhysReg ttmp1{113};
462 static constexpr PhysReg ttmp2{114};
463 static constexpr PhysReg ttmp3{115};
464 static constexpr PhysReg ttmp4{116};
465 static constexpr PhysReg ttmp5{117};
466 static constexpr PhysReg ttmp6{118};
467 static constexpr PhysReg ttmp7{119};
468 static constexpr PhysReg ttmp8{120};
469 static constexpr PhysReg ttmp9{121};
470 static constexpr PhysReg ttmp10{122};
471 static constexpr PhysReg ttmp11{123};
472 static constexpr PhysReg sgpr_null{125}; /* GFX10+ */
473 static constexpr PhysReg exec{126};
474 static constexpr PhysReg exec_lo{126};
475 static constexpr PhysReg exec_hi{127};
476 static constexpr PhysReg vccz{251};
477 static constexpr PhysReg execz{252};
478 static constexpr PhysReg scc{253};
491 : reg_(PhysReg{128}), isTemp_(false), isFixed_(true), isConstant_(false), isKill_(false),
503 setFixed(PhysReg{128});
506 explicit Operand(Temp r, PhysReg reg) noexcept
525 op.setFixed(PhysReg{0u});
538 op.setFixed(PhysReg{128u + v});
540 op.setFixed(PhysReg{(unsigned)(192 - (int16_t)v)});
542 op.setFixed(PhysReg{240});
544 op.setFixed(PhysReg{241});
546 op.setFixed(PhysReg{242});
548 op.setFixed(PhysReg{243});
550 op.setFixed(PhysReg{244});
552 op.setFixed(PhysReg{245});
554 op.setFixed(PhysReg{246});
556 op.setFixed(PhysReg{247});
558 op.setFixed(PhysReg{248});
560 op.setFixed(PhysReg{255});
576 op.setFixed(PhysReg{128 + (uint32_t)v});
579 op.setFixed(PhysReg{192 - (uint32_t)v});
582 op.setFixed(PhysReg{240});
585 op.setFixed(PhysReg{241});
588 op.setFixed(PhysReg{242});
591 op.setFixed(PhysReg{243});
594 op.setFixed(PhysReg{244});
597 op.setFixed(PhysReg{245});
600 op.setFixed(PhysReg{246});
603 op.setFixed(PhysReg{247});
607 op.setFixed(PhysReg{255});
623 op.setFixed(PhysReg{128 + v});
625 op.setFixed(PhysReg{192 - v});
627 op.setFixed(PhysReg{240});
629 op.setFixed(PhysReg{241});
631 op.setFixed(PhysReg{242});
633 op.setFixed(PhysReg{243});
635 op.setFixed(PhysReg{244});
637 op.setFixed(PhysReg{245});
639 op.setFixed(PhysReg{246});
641 op.setFixed(PhysReg{247});
644 op.setFixed(PhysReg{255});
656 op.setFixed(PhysReg{255});
664 setFixed(PhysReg{128});
666 explicit Operand(PhysReg reg, RegClass type) noexcept
692 op.setFixed(PhysReg{248});
764 constexpr PhysReg physReg() const noexcept { return reg_; }
766 constexpr void setFixed(PhysReg reg) noexcept
894 PhysReg reg_;
927 Definition(PhysReg reg, RegClass type) noexcept : temp(Temp(0, type)) { setFixed(reg); }
928 Definition(uint32_t tmpId, PhysReg reg, RegClass type) noexcept : temp(Temp(tmpId, type))
951 constexpr PhysReg physReg() const noexcept { return reg_; }
953 constexpr void setFixed(PhysReg reg) noexcept
978 PhysReg reg_;
1668 PhysReg scratch_sgpr; /* might not be valid if it's not needed */