[Beignet] [PATCH V2 03/15] Backend: Refine register offset for simd shuffle

Xiuli Pan xiuli.pan at intel.com
Wed Oct 19 06:37:12 UTC 2016


From: Pan Xiuli <xiuli.pan at intel.com>

Simd shuffle should support different type, we used to support float or
dword type. Now we can set offset by src type.

Signed-off-by: Pan Xiuli <xiuli.pan at intel.com>
---
 backend/src/backend/gen_context.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/backend/src/backend/gen_context.cpp b/backend/src/backend/gen_context.cpp
index 4f73237..e907931 100644
--- a/backend/src/backend/gen_context.cpp
+++ b/backend/src/backend/gen_context.cpp
@@ -719,7 +719,7 @@ namespace gbe
 
         p->curr.quarterControl = 1;
         p->ADD(a0, GenRegister::unpacked_uw(src1.nr+1, src1.subnr / typeSize(GEN_TYPE_UW)), baseReg);
-        p->MOV(GenRegister::offset(dst, 1, 0), indirect);
+        p->MOV(GenRegister::offset(dst, 0, 8 * typeSize(src0.type)), indirect);
       } else
         NOT_IMPLEMENTED;
     p->pop();
-- 
2.7.4



More information about the Beignet mailing list