diff --git a/src/vm/interp/vm_tgc_c.cpp b/src/vm/interp/vm_tgc_c.cpp index f1ba0c5..b1fceab 100644 --- a/src/vm/interp/vm_tgc_c.cpp +++ b/src/vm/interp/vm_tgc_c.cpp @@ -517,7 +517,7 @@ private: // execute instruction try { { - int32_t new_pc = *(X+rs1) + (int16_t)sext<12>(imm); + int32_t new_pc = (*(X+rs1) + (int16_t)sext<12>(imm)) & ~ 1; if(new_pc % traits::INSTR_ALIGNMENT) { raise(0, 0); }