diff options
Diffstat (limited to 'backend/src/backend/gen_context.cpp')
-rw-r--r-- | backend/src/backend/gen_context.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/backend/src/backend/gen_context.cpp b/backend/src/backend/gen_context.cpp index 3484e639..b263cc74 100644 --- a/backend/src/backend/gen_context.cpp +++ b/backend/src/backend/gen_context.cpp @@ -2007,10 +2007,10 @@ namespace gbe else { //size == 8 payload.type = GEN_TYPE_UD; GBE_ASSERT(payload.hstride == GEN_HORIZONTAL_STRIDE_1); - loadBottomHalf(payload, src); + loadBottomHalf(payload, src.isdf()? GenRegister::retype(src, GEN_TYPE_UL) : src ); uint32_t regNum = (regSize/2*simdWidth) > 32 ? 2 : 1; this->scratchWrite(msg, scratchOffset, regNum, GEN_TYPE_UD, GEN_SCRATCH_CHANNEL_MODE_DWORD); - loadTopHalf(payload, src); + loadTopHalf(payload, src.isdf() ? GenRegister::retype(src, GEN_TYPE_UL) : src); this->scratchWrite(msg, scratchOffset + 4*simdWidth, regNum, GEN_TYPE_UD, GEN_SCRATCH_CHANNEL_MODE_DWORD); } p->pop(); |