From: Pan Xiuli <[email protected]> We used to ignore the reg.nr for subreg offset, but after GenRegister offset is refined, we need to calculate the suboffset with nr and subnr.
Signed-off-by: Pan Xiuli <[email protected]> --- backend/src/backend/gen_reg_allocation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/backend/gen_reg_allocation.cpp b/backend/src/backend/gen_reg_allocation.cpp index 495d830..5b25d1b 100644 --- a/backend/src/backend/gen_reg_allocation.cpp +++ b/backend/src/backend/gen_reg_allocation.cpp @@ -1492,7 +1492,7 @@ do { \ } GBE_ASSERT(RA.contains(reg.reg()) != false); const uint32_t grfOffset = RA.find(reg.reg())->second; - const uint32_t suboffset = reg.subphysical ? reg.subnr : 0; + const uint32_t suboffset = reg.subphysical ? reg.nr * GEN_REG_SIZE + reg.subnr : 0; const GenRegister dst = setGenReg(reg, grfOffset + suboffset); if (reg.quarter != 0) return GenRegister::Qn(dst, reg.quarter); -- 2.7.4 _______________________________________________ Beignet mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/beignet
