From de86aae73e61febc410a20df693af09debdbd206 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Wed, 12 Jun 2019 17:46:53 +0200 Subject: [PATCH] rec-arm: XTRCT implementation --- core/rec-ARM/rec_arm.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/core/rec-ARM/rec_arm.cpp b/core/rec-ARM/rec_arm.cpp index ba6cc1983..da67d245b 100644 --- a/core/rec-ARM/rec_arm.cpp +++ b/core/rec-ARM/rec_arm.cpp @@ -1898,16 +1898,6 @@ void ngen_compile_opcode(RuntimeBlockInfo* block, shil_opcode* op, bool staging, } break; -/* - case shop_cvt_i2f_z: - case shop_cvt_i2f_n: - - break; -*/ - - //shop_cvt_f2i_t - //shop_cvt_i2f_n - //shop_cvt_i2f_z case shop_ext_s8: case shop_ext_s16: { @@ -1918,8 +1908,19 @@ void ngen_compile_opcode(RuntimeBlockInfo* block, shil_opcode* op, bool staging, } break; + case shop_xtrct: + { + eReg rd = reg.mapg(op->rd); + LSR(rd, reg.mapg(op->rs1), 16); + LSL(r0, reg.mapg(op->rs2), 16); + ORR(rd, rd, r0); + } + break; + + // + // FPU + // - //fpu case shop_fadd: case shop_fsub: case shop_fmul: