From 76bcddc6e8acc96e2964ca623a736cc56d39abde Mon Sep 17 00:00:00 2001 From: Yang Rong Date: Thu, 9 Oct 2014 14:07:52 +0800 Subject: [PATCH] BDW: Forgot to set UIP of else in BDW. GEN_OPCODE_ELSE also need set UIP, add it. Signed-off-by: Yang Rong Reviewed-by: Zhigang Gong Reviewed-by: Junyan He --- backend/src/backend/gen8_encoder.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/backend/gen8_encoder.cpp b/backend/src/backend/gen8_encoder.cpp index f50ce47..6cb6e70 100644 --- a/backend/src/backend/gen8_encoder.cpp +++ b/backend/src/backend/gen8_encoder.cpp @@ -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; -- 2.7.4