Fixes for aarch64.

This commit is contained in:
losfair
2019-09-28 17:31:10 +08:00
parent 3dadbc15c9
commit 89d8b5a41c
3 changed files with 412 additions and 168 deletions

View File

@ -4953,7 +4953,9 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
a.emit_lea_label(table_label, Location::GPR(GPR::RCX));
a.emit_mov(Size::S32, cond, Location::GPR(GPR::RDX));
a.emit_imul_imm32_gpr64(5, GPR::RDX);
let instr_size = a.get_jmp_instr_size();
a.emit_imul_imm32_gpr64(instr_size as _, GPR::RDX);
a.emit_add(Size::S64, Location::GPR(GPR::RCX), Location::GPR(GPR::RDX));
a.emit_jmp_location(Location::GPR(GPR::RDX));