tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Constant-riscv-c.h (2614B)


      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 #ifndef jit_riscv64_constant_Constant_riscv64_c_h_
      5 #define jit_riscv64_constant_Constant_riscv64_c_h_
      6 
      7 #include "jit/riscv64/constant/Base-constant-riscv.h"
      8 namespace js {
      9 namespace jit {
     10 enum OpcodeRISCVC : uint32_t {
     11 
     12  RO_C_ADDI4SPN = C0 | (0b000 << kRvcFunct3Shift),
     13  RO_C_ADDI16SP = C1 | (0b011 << kRvcFunct3Shift),
     14  RO_C_LW = C0 | (0b010 << kRvcFunct3Shift),
     15  RO_C_SW = C0 | (0b110 << kRvcFunct3Shift),
     16  RO_C_NOP_ADDI = C1 | (0b000 << kRvcFunct3Shift),
     17  RO_C_LI = C1 | (0b010 << kRvcFunct3Shift),
     18  RO_C_SUB = C1 | (0b100011 << kRvcFunct6Shift) | (FUNCT2_0 << kRvcFunct2Shift),
     19  RO_C_XOR = C1 | (0b100011 << kRvcFunct6Shift) | (FUNCT2_1 << kRvcFunct2Shift),
     20  RO_C_OR = C1 | (0b100011 << kRvcFunct6Shift) | (FUNCT2_2 << kRvcFunct2Shift),
     21  RO_C_AND = C1 | (0b100011 << kRvcFunct6Shift) | (FUNCT2_3 << kRvcFunct2Shift),
     22  RO_C_LUI_ADD = C1 | (0b011 << kRvcFunct3Shift),
     23  RO_C_MISC_ALU = C1 | (0b100 << kRvcFunct3Shift),
     24  RO_C_J = C1 | (0b101 << kRvcFunct3Shift),
     25  RO_C_BEQZ = C1 | (0b110 << kRvcFunct3Shift),
     26  RO_C_BNEZ = C1 | (0b111 << kRvcFunct3Shift),
     27  RO_C_SLLI = C2 | (0b000 << kRvcFunct3Shift),
     28  RO_C_LWSP = C2 | (0b010 << kRvcFunct3Shift),
     29  RO_C_JR_MV_ADD = C2 | (0b100 << kRvcFunct3Shift),
     30  RO_C_JR = C2 | (0b1000 << kRvcFunct4Shift),
     31  RO_C_MV = C2 | (0b1000 << kRvcFunct4Shift),
     32  RO_C_EBREAK = C2 | (0b1001 << kRvcFunct4Shift),
     33  RO_C_JALR = C2 | (0b1001 << kRvcFunct4Shift),
     34  RO_C_ADD = C2 | (0b1001 << kRvcFunct4Shift),
     35  RO_C_SWSP = C2 | (0b110 << kRvcFunct3Shift),
     36 
     37  RO_C_FSD = C0 | (0b101 << kRvcFunct3Shift),
     38  RO_C_FLD = C0 | (0b001 << kRvcFunct3Shift),
     39  RO_C_FLDSP = C2 | (0b001 << kRvcFunct3Shift),
     40  RO_C_FSDSP = C2 | (0b101 << kRvcFunct3Shift),
     41 #ifdef JS_CODEGEN_RISCV64
     42  RO_C_LD = C0 | (0b011 << kRvcFunct3Shift),
     43  RO_C_SD = C0 | (0b111 << kRvcFunct3Shift),
     44  RO_C_LDSP = C2 | (0b011 << kRvcFunct3Shift),
     45  RO_C_SDSP = C2 | (0b111 << kRvcFunct3Shift),
     46  RO_C_ADDIW = C1 | (0b001 << kRvcFunct3Shift),
     47  RO_C_SUBW =
     48      C1 | (0b100111 << kRvcFunct6Shift) | (FUNCT2_0 << kRvcFunct2Shift),
     49  RO_C_ADDW =
     50      C1 | (0b100111 << kRvcFunct6Shift) | (FUNCT2_1 << kRvcFunct2Shift),
     51 #endif
     52 #ifdef JS_CODEGEN_RISCV32
     53  RO_C_FLWSP = C2 | (0b011 << kRvcFunct3Shift),
     54  RO_C_FSWSP = C2 | (0b111 << kRvcFunct3Shift),
     55  RO_C_FLW = C0 | (0b011 << kRvcFunct3Shift),
     56  RO_C_FSW = C0 | (0b111 << kRvcFunct3Shift),
     57 #endif
     58 };
     59 }  // namespace jit
     60 }  // namespace js
     61 #endif  // jit_riscv64_constant_Constant_riscv64_c_h_