From 6dc17857da3f8d585e47fa1237df7838bfc40431 Mon Sep 17 00:00:00 2001 From: Eyck-Alexander Jentzsch Date: Wed, 17 Jul 2024 15:36:08 +0200 Subject: [PATCH] updates template --- gen_input/templates/llvm/CORENAME.cpp.gtl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gen_input/templates/llvm/CORENAME.cpp.gtl b/gen_input/templates/llvm/CORENAME.cpp.gtl index e198e6e..d5cb4f4 100644 --- a/gen_input/templates/llvm/CORENAME.cpp.gtl +++ b/gen_input/templates/llvm/CORENAME.cpp.gtl @@ -336,7 +336,7 @@ inline void vm_impl::set_tval(uint64_t tval) { } template inline void vm_impl::set_tval(Value* new_tval) { - this->builder.CreateStore(new_tval, this->tval); + this->builder.CreateStore(this->gen_ext(new_tval, 64, false), this->tval); } template void vm_impl::gen_trap_behavior(BasicBlock *trap_blk) { @@ -346,7 +346,7 @@ void vm_impl::gen_trap_behavior(BasicBlock *trap_blk) { this->builder.CreateStore(this->gen_const(32U, std::numeric_limits::max()), get_reg_ptr(traits::LAST_BRANCH), false); std::vector args{this->core_ptr, this->adj_to64(trap_state_val), - this->adj_to64(this->builder.CreateLoad(this->builder.getInt64Ty(),this->tval))}; + this->adj_to64(this->builder.CreateLoad(this->get_type(64),this->tval))}; this->builder.CreateCall(this->mod->getFunction("enter_trap"), args); auto *trap_addr_val = this->builder.CreateLoad(this->get_typeptr(traits::NEXT_PC), get_reg_ptr(traits::NEXT_PC), false); this->builder.CreateRet(trap_addr_val);