jit fcomip df_6
This commit is contained in:
parent
085f4c8bb1
commit
b859ce5085
|
@ -339,7 +339,7 @@ const encodings = [
|
|||
{ opcode: 0xDF, e: 1, fixed_g: 3, custom: 1, is_fpu: 1, task_switch_test: 1 },
|
||||
{ opcode: 0xDF, e: 1, fixed_g: 4, custom: 1, is_fpu: 1, task_switch_test: 1, skip_mem: 1 }, // unimplemented: Binary Coded Decimals
|
||||
{ opcode: 0xDF, e: 1, fixed_g: 5, custom: 1, is_fpu: 1, task_switch_test: 1, },
|
||||
{ opcode: 0xDF, e: 1, fixed_g: 6, custom: 0, is_fpu: 1, task_switch_test: 1, skip_mem: 1 }, // unimplemented: Binary Coded Decimals
|
||||
{ opcode: 0xDF, e: 1, fixed_g: 6, custom: 1, is_fpu: 1, task_switch_test: 1, skip_mem: 1 }, // unimplemented: Binary Coded Decimals
|
||||
{ opcode: 0xDF, e: 1, fixed_g: 7, custom: 1, is_fpu: 1, task_switch_test: 1, },
|
||||
|
||||
// loop, jcxz, etc.
|
||||
|
|
|
@ -3473,6 +3473,16 @@ pub fn instr_DF_5_reg_jit(ctx: &mut JitContext, r: u32) {
|
|||
codegen::gen_fn1_const(ctx.builder, "fpu_fucomip", r);
|
||||
}
|
||||
|
||||
pub fn instr_DF_6_mem_jit(ctx: &mut JitContext, modrm_byte: ModrmByte) {
|
||||
dbg_log!("fbstp");
|
||||
codegen::gen_modrm_resolve(ctx, modrm_byte);
|
||||
codegen::gen_trigger_ud(ctx);
|
||||
}
|
||||
pub fn instr_DF_6_reg_jit(ctx: &mut JitContext, r: u32) {
|
||||
ctx.builder.const_i32(r as i32);
|
||||
ctx.builder.call_fn1("fpu_fcomip");
|
||||
}
|
||||
|
||||
pub fn instr_DF_7_reg_jit(ctx: &mut JitContext, _r: u32) { codegen::gen_trigger_ud(ctx); }
|
||||
pub fn instr_DF_7_mem_jit(ctx: &mut JitContext, modrm_byte: ModrmByte) {
|
||||
codegen::gen_modrm_resolve(ctx, modrm_byte);
|
||||
|
|
Loading…
Reference in a new issue