Lines Matching refs:RegClass

308 struct RegClass {
338 RegClass() = default;
339 constexpr RegClass(RC rc_) : rc(rc_) {}
340 constexpr RegClass(RegType type, unsigned size)
354 constexpr RegClass as_linear() const { return RegClass((RC)(rc | (1 << 6))); }
355 constexpr RegClass as_subdword() const { return RegClass((RC)(rc | 1 << 7)); }
357 static constexpr RegClass get(RegType type, unsigned bytes)
360 return RegClass(type, DIV_ROUND_UP(bytes, 4u));
362 return bytes % 4u ? RegClass(type, bytes).as_subdword() : RegClass(type, bytes / 4u);
366 constexpr RegClass resize(unsigned bytes) const
380 static constexpr RegClass s1{RegClass::s1};
381 static constexpr RegClass s2{RegClass::s2};
382 static constexpr RegClass s3{RegClass::s3};
383 static constexpr RegClass s4{RegClass::s4};
384 static constexpr RegClass s8{RegClass::s8};
385 static constexpr RegClass s16{RegClass::s16};
386 static constexpr RegClass v1{RegClass::v1};
387 static constexpr RegClass v2{RegClass::v2};
388 static constexpr RegClass v3{RegClass::v3};
389 static constexpr RegClass v4{RegClass::v4};
390 static constexpr RegClass v5{RegClass::v5};
391 static constexpr RegClass v6{RegClass::v6};
392 static constexpr RegClass v7{RegClass::v7};
393 static constexpr RegClass v8{RegClass::v8};
394 static constexpr RegClass v1b{RegClass::v1b};
395 static constexpr RegClass v2b{RegClass::v2b};
396 static constexpr RegClass v3b{RegClass::v3b};
397 static constexpr RegClass v4b{RegClass::v4b};
398 static constexpr RegClass v6b{RegClass::v6b};
399 static constexpr RegClass v8b{RegClass::v8b};
409 constexpr Temp(uint32_t id, RegClass cls) noexcept : id_(id), reg_class(uint8_t(cls)) {}
412 constexpr RegClass regClass() const noexcept { return (RegClass::RC)reg_class; }
660 explicit Operand(RegClass type) noexcept
666 explicit Operand(PhysReg reg, RegClass type) noexcept
744 constexpr RegClass regClass() const noexcept { return data_.temp.regClass(); }
925 Definition(uint32_t index, RegClass type) noexcept : temp(index, type) {}
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))
943 constexpr RegClass regClass() const noexcept { return temp.regClass(); }
2086 std::vector<RegClass> temp_rc = {s1};
2094 RegClass lane_mask;
2130 uint32_t allocateId(RegClass rc)
2144 Temp allocateTmp(RegClass rc) { return Temp(allocateId(rc), rc); }