diff options
Diffstat (limited to 'lite_translator/riscv64_to_x86_64/lite_translator.cc')
-rw-r--r-- | lite_translator/riscv64_to_x86_64/lite_translator.cc | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/lite_translator/riscv64_to_x86_64/lite_translator.cc b/lite_translator/riscv64_to_x86_64/lite_translator.cc index 1c587472..91091b65 100644 --- a/lite_translator/riscv64_to_x86_64/lite_translator.cc +++ b/lite_translator/riscv64_to_x86_64/lite_translator.cc @@ -105,19 +105,6 @@ Register LiteTranslator::Op(Decoder::OpOpcode opcode, Register arg1, Register ar as_.Mulq(arg2); as_.Movq(res, as_.rdx); break; - case OpOpcode::kRem: - as_.Movq(as_.rax, arg1); - as_.Movq(as_.rdx, as_.rax); - as_.Sarq(as_.rdx, int8_t{63}); - as_.Idivq(arg2); - as_.Movq(res, opcode == OpOpcode::kDiv ? as_.rax : as_.rdx); - break; - case OpOpcode::kRemu: - as_.Movq(as_.rax, arg1); - as_.Xorq(as_.rdx, as_.rdx); - as_.Divq(arg2); - as_.Movq(res, opcode == OpOpcode::kDivu ? as_.rax : as_.rdx); - break; case Decoder::OpOpcode::kAndn: if (host_platform::kHasBMI) { as_.Andnq(res, arg2, arg1); @@ -179,19 +166,6 @@ Register LiteTranslator::Op32(Decoder::Op32Opcode opcode, Register arg1, Registe as_.Imull(res, arg2); as_.Movsxlq(res, res); break; - case Op32Opcode::kRemw: - as_.Movl(as_.rax, arg1); - as_.Movl(as_.rdx, as_.rax); - as_.Sarl(as_.rdx, int8_t{31}); - as_.Idivl(arg2); - as_.Movsxlq(res, as_.rdx); - break; - case Op32Opcode::kRemuw: - as_.Movl(as_.rax, arg1); - as_.Xorl(as_.rdx, as_.rdx); - as_.Divl(arg2); - as_.Movsxlq(res, as_.rdx); - break; default: Undefined(); return {}; |