[Beignet] [PATCH] Fix a read64/write64 schedule bug.
Yang Rong
rong.r.yang at intel.com
Tue Oct 15 03:36:03 PDT 2013
Set the read64/write64 correct data type, otherwise, the dependency will wrong.
Signed-off-by: Yang Rong <rong.r.yang at intel.com>
---
backend/src/backend/gen_insn_selection.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/src/backend/gen_insn_selection.cpp b/backend/src/backend/gen_insn_selection.cpp
index cddd76e..84b9983 100644
--- a/backend/src/backend/gen_insn_selection.cpp
+++ b/backend/src/backend/gen_insn_selection.cpp
@@ -2296,7 +2296,7 @@ namespace gbe
for (dstID = 0; dstID < tmpRegNum ; ++dstID)
dst[dstID] = sel.selReg(sel.reg(FAMILY_DWORD));
for ( uint32_t valueID = 0; valueID < valueNum; ++dstID, ++valueID)
- dst[dstID] = sel.selReg(insn.getValue(valueID));
+ dst[dstID] = sel.selReg(insn.getValue(valueID), ir::TYPE_U64);
sel.READ64(addr, sel.selReg(sel.reg(FAMILY_QWORD), ir::TYPE_U64), dst, valueNum + tmpRegNum, valueNum, bti);
}
@@ -2416,7 +2416,7 @@ namespace gbe
dst[srcID + 1] = sel.selReg(sel.reg(FAMILY_DWORD));
for (uint32_t valueID = 0; valueID < valueNum; ++valueID)
- src[valueID] = sel.selReg(insn.getValue(valueID));
+ src[valueID] = sel.selReg(insn.getValue(valueID), ir::TYPE_U64);
sel.WRITE64(addr, src, valueNum, dst, tmpRegNum + 1, bti);
}
--
1.8.1.2
More information about the Beignet
mailing list