[Beignet] [PATCH v2 1/2] [OCL20] fix workgroup_broadcast instruction debug mode assert.
xionghu.luo at intel.com
xionghu.luo at intel.com
Mon Dec 14 23:39:54 PST 2015
From: Luo Xionghu <xionghu.luo at intel.com>
the workgoup related parameter of the workgroup_broadcast function is
FAMILY_QWORD.
v2: set the parameter according to the pointer family.
---
backend/src/ir/instruction.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/backend/src/ir/instruction.cpp b/backend/src/ir/instruction.cpp
index 3370935..71b6230 100644
--- a/backend/src/ir/instruction.cpp
+++ b/backend/src/ir/instruction.cpp
@@ -1314,7 +1314,14 @@ namespace ir {
whyNot = "Wrong number of source.";
return false;
} else {
- const RegisterFamily fam = FAMILY_DWORD;
+ const ir::RegisterFamily pointerFamily = fn.getPointerFamily();
+ RegisterFamily fam;
+ if (pointerFamily == ir::FAMILY_DWORD) {
+ fam = FAMILY_DWORD;
+ }
+ else {
+ fam = FAMILY_QWORD;
+ }
for (uint32_t srcID = 1; srcID < this->srcNum; ++srcID) {
const Register regID = fn.getRegister(src, srcID);
if (UNLIKELY(checkRegisterData(fam, regID, fn, whyNot) == false))
--
2.1.4
More information about the Beignet
mailing list