v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
extension-riscv-m.h
Go to the documentation of this file.
1// Copyright 2022 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_CODEGEN_RISCV_EXTENSION_RISCV_M_H_
6#define V8_CODEGEN_RISCV_EXTENSION_RISCV_M_H_
7
12
13namespace v8 {
14namespace internal {
16 // RV32M Standard Extension
17 public:
18 void mul(Register rd, Register rs1, Register rs2);
19 void mulh(Register rd, Register rs1, Register rs2);
20 void mulhsu(Register rd, Register rs1, Register rs2);
21 void mulhu(Register rd, Register rs1, Register rs2);
22 void div(Register rd, Register rs1, Register rs2);
23 void divu(Register rd, Register rs1, Register rs2);
24 void rem(Register rd, Register rs1, Register rs2);
25 void remu(Register rd, Register rs1, Register rs2);
26#ifdef V8_TARGET_ARCH_RISCV64
27 // RV64M Standard Extension (in addition to RV32M)
28 void mulw(Register rd, Register rs1, Register rs2);
29 void divw(Register rd, Register rs1, Register rs2);
30 void divuw(Register rd, Register rs1, Register rs2);
31 void remw(Register rd, Register rs1, Register rs2);
32 void remuw(Register rd, Register rs1, Register rs2);
33#endif
34};
35} // namespace internal
36} // namespace v8
37#endif // V8_CODEGEN_RISCV_EXTENSION_RISCV_M_H_
void mulhu(Register rd, Register rs1, Register rs2)
void divu(Register rd, Register rs1, Register rs2)
void mulh(Register rd, Register rs1, Register rs2)
void mulhsu(Register rd, Register rs1, Register rs2)
void rem(Register rd, Register rs1, Register rs2)
void remu(Register rd, Register rs1, Register rs2)
void mul(Register rd, Register rs1, Register rs2)
void div(Register rd, Register rs1, Register rs2)