the register maybe a stride two register with type UD. So, retype it to long when do unspill.
Signed-off-by: Ruiling Song <ruiling.s...@intel.com> --- backend/src/backend/gen_context.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/backend/gen_context.cpp b/backend/src/backend/gen_context.cpp index be78c02..3484e63 100644 --- a/backend/src/backend/gen_context.cpp +++ b/backend/src/backend/gen_context.cpp @@ -2037,9 +2037,9 @@ namespace gbe } else { uint32_t regNum = (regSize/2*simdWidth) > 32 ? 2 : 1; this->scratchRead(payload, msg, scratchOffset, regNum, GEN_TYPE_UD, GEN_SCRATCH_CHANNEL_MODE_DWORD); - storeBottomHalf(dst, payload); + storeBottomHalf(GenRegister::ul8grf(dst.nr, dst.subnr), payload); this->scratchRead(payload, msg, scratchOffset + 4*simdWidth, regNum, GEN_TYPE_UD, GEN_SCRATCH_CHANNEL_MODE_DWORD); - storeTopHalf(dst, payload); + storeTopHalf(GenRegister::ul8grf(dst.nr, dst.subnr), payload); } p->pop(); } -- 2.4.1 _______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/beignet