[Beignet] [PATCH] GBE: fix a bug in int64 to float conversion.

Zhigang Gong zhigang.gong at intel.com
Thu Jun 5 23:28:23 PDT 2014


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 <zhigang.gong at intel.com>
---
 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



More information about the Beignet mailing list