v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
constant-riscv-zicsr.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_CONSTANT_RISCV_ZICSR_H_
6
#define V8_CODEGEN_RISCV_CONSTANT_RISCV_ZICSR_H_
7
8
#include "
src/codegen/riscv/base-constants-riscv.h
"
9
namespace
v8
{
10
namespace
internal
{
11
// RISCV CSR related bit mask and shift
12
const
int
kFcsrFlagsBits
= 5;
13
const
uint32_t
kFcsrFlagsMask
= (1 <<
kFcsrFlagsBits
) - 1;
14
const
int
kFcsrFrmBits
= 3;
15
const
int
kFcsrFrmShift
=
kFcsrFlagsBits
;
16
const
uint32_t
kFcsrFrmMask
= ((1 <<
kFcsrFrmBits
) - 1) <<
kFcsrFrmShift
;
17
const
int
kFcsrBits
=
kFcsrFlagsBits
+
kFcsrFrmBits
;
18
const
uint32_t
kFcsrMask
=
kFcsrFlagsMask
|
kFcsrFrmMask
;
19
20
// RV32/RV64 Zicsr Standard Extension
21
constexpr
Opcode
RO_CSRRW
=
SYSTEM
| (0b001 <<
kFunct3Shift
);
22
constexpr
Opcode
RO_CSRRS
=
SYSTEM
| (0b010 <<
kFunct3Shift
);
23
constexpr
Opcode
RO_CSRRC
=
SYSTEM
| (0b011 <<
kFunct3Shift
);
24
constexpr
Opcode
RO_CSRRWI
=
SYSTEM
| (0b101 <<
kFunct3Shift
);
25
constexpr
Opcode
RO_CSRRSI
=
SYSTEM
| (0b110 <<
kFunct3Shift
);
26
constexpr
Opcode
RO_CSRRCI
=
SYSTEM
| (0b111 <<
kFunct3Shift
);
27
}
// namespace internal
28
}
// namespace v8
29
#endif
// V8_CODEGEN_RISCV_CONSTANT_RISCV_ZICSR_H_
base-constants-riscv.h
v8::internal::Opcode
Opcode
Definition
constants-loong64.h:234
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::kFcsrFlagsBits
const int kFcsrFlagsBits
Definition
constant-riscv-zicsr.h:12
v8::internal::RO_CSRRWI
constexpr Opcode RO_CSRRWI
Definition
constant-riscv-zicsr.h:24
v8::internal::kFunct3Shift
const int kFunct3Shift
Definition
base-constants-riscv.h:256
v8::internal::RO_CSRRS
constexpr Opcode RO_CSRRS
Definition
constant-riscv-zicsr.h:22
v8::internal::kFcsrMask
const uint32_t kFcsrMask
Definition
constant-riscv-zicsr.h:18
v8::internal::RO_CSRRCI
constexpr Opcode RO_CSRRCI
Definition
constant-riscv-zicsr.h:26
v8::internal::kFcsrFrmBits
const int kFcsrFrmBits
Definition
constant-riscv-zicsr.h:14
v8::internal::RO_CSRRC
constexpr Opcode RO_CSRRC
Definition
constant-riscv-zicsr.h:23
v8::internal::kFcsrFlagsMask
const uint32_t kFcsrFlagsMask
Definition
constant-riscv-zicsr.h:13
v8::internal::RO_CSRRSI
constexpr Opcode RO_CSRRSI
Definition
constant-riscv-zicsr.h:25
v8::internal::kFcsrFrmShift
const int kFcsrFrmShift
Definition
constant-riscv-zicsr.h:15
v8::internal::kFcsrBits
const int kFcsrBits
Definition
constant-riscv-zicsr.h:17
v8::internal::kFcsrFrmMask
const uint32_t kFcsrFrmMask
Definition
constant-riscv-zicsr.h:16
v8::internal::RO_CSRRW
constexpr Opcode RO_CSRRW
Definition
constant-riscv-zicsr.h:21
v8::internal::SYSTEM
@ SYSTEM
Definition
base-constants-riscv.h:652
v8
Definition
api-arguments-inl.h:19
src
codegen
riscv
constant-riscv-zicsr.h
Generated on Sun Apr 6 2025 21:08:50 for v8 by
1.12.0