When copy those pure 32bit int to float destination, we should enable the mask. Otherwise, we may destroy the value in inactive lanes.
Signed-off-by: Zhigang Gong <[email protected]> --- backend/src/backend/gen_context.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/backend/gen_context.cpp b/backend/src/backend/gen_context.cpp index 7a0a806..69b4907 100644 --- a/backend/src/backend/gen_context.cpp +++ b/backend/src/backend/gen_context.cpp @@ -843,6 +843,7 @@ namespace gbe p->curr.noMask = 1; p->CMP(GEN_CONDITIONAL_EQ, exp, GenRegister::immud(32)); //high == 0 p->curr.predicate = GEN_PREDICATE_NORMAL; + p->curr.noMask = 0; p->MOV(dst, low); p->push(); if (simdWidth == 8) -- 1.8.3.2 _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
