BDW: Forgot to set UIP of else in BDW.
authorYang Rong <rong.r.yang@intel.com>
Thu, 9 Oct 2014 06:07:52 +0000 (14:07 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Fri, 10 Oct 2014 08:24:49 +0000 (16:24 +0800)
GEN_OPCODE_ELSE also need set UIP, add it.

Signed-off-by: Yang Rong <rong.r.yang@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Reviewed-by: Junyan He <junyan.he@linux.intel.com>
backend/src/backend/gen8_encoder.cpp

index f50ce47..6cb6e70 100644 (file)
@@ -273,7 +273,8 @@ namespace gbe
     if(insn.header.opcode == GEN_OPCODE_ELSE)
       uip = jip;
 
-    if (insn.header.opcode == GEN_OPCODE_IF) {
+    if (insn.header.opcode == GEN_OPCODE_IF ||
+        insn.header.opcode == GEN_OPCODE_ELSE) {
       Gen8NativeInstruction *gen8_insn = &insn.gen8_insn;
       this->setSrc0(&insn, GenRegister::immud(0));
       gen8_insn->bits2.gen8_branch.uip = uip*8;