From 3dfdb601396ae5564e46ac9fbe77b6a20534dbb7 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Wed, 4 Jan 2023 12:12:24 +0100 Subject: [PATCH] arm dynarec: handle immediate operand to fsca --- core/rec-ARM/rec_arm.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/rec-ARM/rec_arm.cpp b/core/rec-ARM/rec_arm.cpp index 4e2a27f12..d255123da 100644 --- a/core/rec-ARM/rec_arm.cpp +++ b/core/rec-ARM/rec_arm.cpp @@ -1890,7 +1890,10 @@ static void ngen_compile_opcode(RuntimeBlockInfo* block, shil_opcode* op, bool o case shop_fsca: //r1: base ptr ass.Mov(r1, (u32)sin_table & 0xFFFF); - ass.Uxth(r0, reg.mapReg(op->rs1)); + if (op.rs1.is_imm()) + ass.Mov(r0, op->rs1._imm & 0xFFFF); + else + ass.Uxth(r0, reg.mapReg(op->rs1)); ass.Movt(r1, (u32)sin_table >> 16); ass.Add(r0, r1, Operand(r0, LSL, 3));