18 "zero_reg",
"ra",
"sp",
"gp",
"tp",
"t0",
"t1",
"t2",
"fp",
"s1",
"a0",
19 "a1",
"a2",
"a3",
"a4",
"a5",
"a6",
"a7",
"s2",
"s3",
"s4",
"s5",
20 "s6",
"s7",
"s8",
"s9",
"s10",
"s11",
"t3",
"t4",
"t5",
"t6",
"pc"};
43 if (strcmp(
names_[
i], name) == 0) {
51 if (strcmp(
aliases_[
i].name, name) == 0) {
68 "ft0",
"ft1",
"ft2",
"ft3",
"ft4",
"ft5",
"ft6",
"ft7",
69 "fs0",
"fs1",
"fa0",
"fa1",
"fa2",
"fa3",
"fa4",
"fa5",
70 "fa6",
"fa7",
"fs2",
"fs3",
"fs4",
"fs5",
"fs6",
"fs7",
71 "fs8",
"fs9",
"fs10",
"fs11",
"ft8",
"ft9",
"ft10",
"ft11"};
90 if (strcmp(
names_[
i], name) == 0) {
98 if (strcmp(
aliases_[
i].name, name) == 0) {
109 "v0",
"v1",
"v2",
"v3",
"v4",
"v5",
"v6",
"v7",
"v8",
"v9",
"v10",
110 "v11",
"v12",
"v13",
"v14",
"v15",
"v16",
"v17",
"v18",
"v19",
"v20",
"v21",
111 "v22",
"v23",
"v24",
"v25",
"v26",
"v27",
"v28",
"v29",
"v30",
"v31"};
129 if (strcmp(
names_[
i], name) == 0) {
137 if (strcmp(
aliases_[
i].name, name) == 0) {
148 uint8_t FirstByte = *
reinterpret_cast<const uint8_t*
>(
this);
149 return (FirstByte & 0x03) <=
C2;
154 DCHECK(this->IsShortInstruction());
160 DCHECK(this->IsShortInstruction());
166 DCHECK(this->IsShortInstruction());
172 DCHECK(this->IsShortInstruction());
178 DCHECK(this->IsShortInstruction());
184 DCHECK(this->IsShortInstruction());
190 DCHECK(this->IsShortInstruction());
196 DCHECK(this->IsShortInstruction());
202 DCHECK(this->IsShortInstruction());
208 if ((this->InstructionBits() &
210 uint32_t Bits = this->InstructionBits();
217 uint32_t Bits = this->InstructionBits();
228 uint32_t Bits = this->InstructionBits();
235 switch (OperandFunct3()) {
241#ifdef V8_TARGET_ARCH_RISCV64
248#ifdef V8_TARGET_ARCH_RISCV64
252 return v8_flags.riscv_c_extension && this->IsShortInstruction();
260 switch (OperandFunct3()) {
264#ifdef V8_TARGET_ARCH_RISCV64
270#ifdef V8_TARGET_ARCH_RISCV64
274 return v8_flags.riscv_c_extension && this->IsShortInstruction();
296#ifdef V8_TARGET_ARCH_RISCV64
302#ifdef V8_TARGET_ARCH_RISCV64
308#ifdef V8_TARGET_ARCH_RISCV64
314 if (
Bits(11, 10) != 0b11)
326#ifdef V8_TARGET_ARCH_RISCV64
334#ifdef V8_TARGET_ARCH_RISCV64
static const RegisterAlias aliases_[]
static const char * names_[kNumFPURegisters]
static const char * Name(int reg)
static int Number(const char *name)
bool IsIllegalInstruction() const
bool IsShortInstruction() const
int Bits(int hi, int lo) const
Instr InstructionBits() const
Type InstructionType() const
int RvcFunct2Value() const
int RvcFunct2BValue() const
int RvcFunct6Value() const
int RvcFunct3Value() const
int RvcFunct4Value() const
static const RegisterAlias aliases_[]
static const char * names_[kNumRegisters]
static int Number(const char *name)
static const char * Name(int reg)
static const char * Name(int reg)
static int Number(const char *name)
static const char * names_[kNumVRegisters]
static const RegisterAlias aliases_[]
ZoneVector< RpoNumber > & result
constexpr Opcode RO_V_VSETIVLI
const int kRvcFunct3Shift
constexpr Opcode RO_C_MISC_ALU
const uint32_t kFunct3Mask
constexpr Opcode RO_C_NOP_ADDI
constexpr DataProcessing3SourceOp MSUB
const int kRvcFunct4Shift
constexpr Opcode RO_C_LWSP
constexpr Opcode RO_C_ADDI4SPN
constexpr Opcode RO_C_FLD
const int kNumFPURegisters
const int kInvalidFPURegister
constexpr Opcode RO_C_JR_MV_ADD
const uint32_t kRvvZimmMask
const int kNumSimuRegisters
const int kInvalidRegister
const int kInvalidVRegister
constexpr Opcode RO_C_FSDSP
constexpr Opcode RO_C_BEQZ
constexpr Opcode RO_C_SWSP
const uint32_t kRvcOpcodeMask
constexpr Opcode RO_C_BNEZ
const int kRvcFunct2BShift
const int kRvcFunct2Shift
V8_EXPORT_PRIVATE FlagValues v8_flags
constexpr Opcode RO_V_VSETVLI
constexpr Opcode RO_C_FSD
constexpr DataProcessing3SourceOp MADD
constexpr Opcode RO_C_FLDSP
const int kRvcFunct6Shift
const uint32_t kRvvUimmMask
constexpr Opcode RO_C_LUI_ADD
const uint32_t kBaseOpcodeMask
constexpr Opcode RO_C_SLLI
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)