[Beignet] [PATCH V2] Backend: Initialize the extra value for selection instruction

Xiuli Pan xiuli.pan at intel.com
Fri Dec 9 03:09:16 UTC 2016


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

If we do not initialize the extra, we may get some random result when
just use some bits of the extra, ex splitSend.
V2: Refine the value to be uint64_t to make sure all bits is set

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

diff --git a/backend/src/backend/gen_insn_selection.cpp b/backend/src/backend/gen_insn_selection.cpp
index 6624337..7fc22fa 100644
--- a/backend/src/backend/gen_insn_selection.cpp
+++ b/backend/src/backend/gen_insn_selection.cpp
@@ -169,7 +169,7 @@ namespace gbe
   SelectionInstruction::SelectionInstruction(SelectionOpcode op, uint32_t dst, uint32_t src) :
     parent(NULL), opcode(op), dstNum(dst), srcNum(src)
   {
-    extra.function = 0;
+    extra.value = 0ul;
   }
 
   void SelectionInstruction::prepend(SelectionInstruction &other) {
diff --git a/backend/src/backend/gen_insn_selection.hpp b/backend/src/backend/gen_insn_selection.hpp
index 7ce2b94..1ba5253 100644
--- a/backend/src/backend/gen_insn_selection.hpp
+++ b/backend/src/backend/gen_insn_selection.hpp
@@ -157,6 +157,7 @@ namespace gbe
         uint16_t printfSize;
       };
       uint32_t workgroupOp;
+      uint64_t value;
     } extra;
     /*! Gen opcode */
     uint8_t opcode;
-- 
2.7.4



More information about the Beignet mailing list