182  DCHECK(is_uint4(pred) && is_uint4(succ));
 
  183  uint16_t imm12 = succ | (pred << 4) | (0b0000 << 8);
 
 
  188  uint16_t imm12 = (0b0011) | (0b0011 << 4) | (0b1000 << 8);
 
 
  215  return Op == 
JAL || Op == 
JALR;
 
 
  245  int32_t imm21 = ((
instr & 0x7fe00000) >> 20) | ((
instr & 0x100000) >> 9) |
 
  246                  (
instr & 0xff000) | ((
instr & 0x80000000) >> 11);
 
  247  imm21 = imm21 << 11 >> 11;
 
 
  268#if V8_TARGET_ARCH_RISCV64 
  270#elif V8_TARGET_ARCH_RISCV32 
 
  277#ifdef V8_TARGET_ARCH_RISCV64 
  287void AssemblerRISCVI::lwu(Register rd, Register rs1, int16_t imm12) {
 
  291void AssemblerRISCVI::ld(Register rd, Register rs1, int16_t imm12) {
 
  295void AssemblerRISCVI::sd(Register source, Register base, int16_t imm12) {
 
  299void AssemblerRISCVI::addiw(Register rd, Register rs1, int16_t imm12) {
 
  303void AssemblerRISCVI::slliw(Register rd, Register rs1, uint8_t shamt) {
 
  307void AssemblerRISCVI::srliw(Register rd, Register rs1, uint8_t shamt) {
 
  311void AssemblerRISCVI::sraiw(Register rd, Register rs1, uint8_t shamt) {
 
  315void AssemblerRISCVI::addw(Register rd, Register rs1, Register rs2) {
 
  319void AssemblerRISCVI::subw(Register rd, Register rs1, Register rs2) {
 
  323void AssemblerRISCVI::sllw(Register rd, Register rs1, Register rs2) {
 
  327void AssemblerRISCVI::srlw(Register rd, Register rs1, Register rs2) {
 
  331void AssemblerRISCVI::sraw(Register rd, Register rs1, Register rs2) {
 
void addi(Register rd, Register rs1, int16_t imm12)
void lhu(Register rd, Register rs1, int16_t imm12)
void sltu(Register rd, Register rs1, Register rs2)
void or_(Register rd, Register rs1, Register rs2)
void blt(Register rs1, Register rs2, int16_t imm12)
void lui(Register rd, int32_t imm20)
void sh(Register source, Register base, int16_t imm12)
void and_(Register rd, Register rs1, Register rs2)
void sltiu(Register rd, Register rs1, int16_t imm12)
static bool IsLui(Instr instr)
void lh(Register rd, Register rs1, int16_t imm12)
static int LoadOffset(Instr instr)
void fence(uint8_t pred, uint8_t succ)
static int AuipcOffset(Instr instr)
static int JalrOffset(Instr instr)
static bool IsSlli(Instr instr)
void srai(Register rd, Register rs1, uint8_t shamt)
static bool IsJalr(Instr instr)
void jalr(Register rd, Register rs1, int16_t imm12)
void add(Register rd, Register rs1, Register rs2)
static bool IsJump(Instr instr)
static int JumpOffset(Instr instr)
void beq(Register rs1, Register rs2, int16_t imm12)
static bool IsJal(Instr instr)
void bltu(Register rs1, Register rs2, int16_t imm12)
static bool IsAddi(Instr instr)
void srli(Register rd, Register rs1, uint8_t shamt)
void xor_(Register rd, Register rs1, Register rs2)
static bool IsLw(Instr instr)
void andi(Register rd, Register rs1, int16_t imm12)
void lw(Register rd, Register rs1, int16_t imm12)
void slt(Register rd, Register rs1, Register rs2)
void ori(Register rd, Register rs1, int16_t imm12)
static bool IsAuipc(Instr instr)
void lbu(Register rd, Register rs1, int16_t imm12)
void auipc(Register rd, int32_t imm20)
void sub(Register rd, Register rs1, Register rs2)
void srl(Register rd, Register rs1, Register rs2)
void xori(Register rd, Register rs1, int16_t imm12)
void bne(Register rs1, Register rs2, int16_t imm12)
static bool IsNop(Instr instr)
static bool IsOri(Instr instr)
void sw(Register source, Register base, int16_t imm12)
void bge(Register rs1, Register rs2, int16_t imm12)
static bool IsBranch(Instr instr)
void lb(Register rd, Register rs1, int16_t imm12)
void bgeu(Register rs1, Register rs2, int16_t imm12)
void jal(Register rd, int32_t imm20)
void sll(Register rd, Register rs1, Register rs2)
void sb(Register source, Register base, int16_t imm12)
void slti(Register rd, Register rs1, int16_t imm12)
void slli(Register rd, Register rs1, uint8_t shamt)
void sra(Register rd, Register rs1, Register rs2)
void GenInstrBranchCC_rri(uint8_t funct3, Register rs1, Register rs2, int16_t imm12)
void GenInstrJ(BaseOpcode opcode, Register rd, int32_t imm20)
void GenInstrLoad_ri(uint8_t funct3, Register rd, Register rs1, int16_t imm12)
void GenInstrALU_ri(uint8_t funct3, Register rd, Register rs1, int16_t imm12)
void GenInstrShift_ri(bool arithshift, uint8_t funct3, Register rd, Register rs1, uint8_t shamt)
void GenInstrALUW_rr(uint8_t funct7, uint8_t funct3, Register rd, Register rs1, Register rs2)
void GenInstrALU_rr(uint8_t funct7, uint8_t funct3, Register rd, Register rs1, Register rs2)
void GenInstrStore_rri(uint8_t funct3, Register rs1, Register rs2, int16_t imm12)
virtual void ClearVectorunit()=0
void GenInstrI(uint8_t funct3, BaseOpcode opcode, Register rd, Register rs1, int16_t imm12)
void GenInstrU(BaseOpcode opcode, Register rd, int32_t imm20)
virtual void BlockTrampolinePoolFor(int instructions)=0
void GenInstrShiftW_ri(bool arithshift, uint8_t funct3, Register rd, Register rs1, uint8_t shamt)
const uint32_t kFunct3Mask
Register ToRegister(int num)
const uint32_t kBaseOpcodeMask
const uint32_t kImm20Mask
#define DCHECK(condition)