@@ -79,6 +79,10 @@ class insn_t
79
79
insn_t (insn_bits_t bits) : b(bits) {}
80
80
insn_bits_t bits () { return b; }
81
81
int length () { return insn_length (b); }
82
+ [[maybe_unused]] int64_t opcode () { return x (0 , 7 ); }
83
+ [[maybe_unused]] int64_t funct7 () { return x (25 , 7 ); }
84
+ [[maybe_unused]] int64_t funct3 () { return x (12 , 3 ); }
85
+ [[maybe_unused]] int64_t funct2 () { return x (25 , 2 ); }
82
86
int64_t i_imm () { return xs (20 , 12 ); }
83
87
int64_t shamt () { return x (20 , 6 ); }
84
88
int64_t s_imm () { return x (7 , 5 ) + (xs (25 , 7 ) << 5 ); }
@@ -95,6 +99,7 @@ class insn_t
95
99
uint64_t bs () { return x (30 , 2 ); } // Crypto ISE - SM4/AES32 byte select.
96
100
uint64_t rcon () { return x (20 , 4 ); } // Crypto ISE - AES64 round const.
97
101
102
+ [[maybe_unused]] int64_t rvc_opcode () { return x (0 , 2 ); }
98
103
int64_t rvc_imm () { return x (2 , 5 ) + (xs (12 , 1 ) << 5 ); }
99
104
int64_t rvc_zimm () { return x (2 , 5 ) + (x (12 , 1 ) << 5 ); }
100
105
int64_t rvc_addi4spn_imm () { return (x (6 , 1 ) << 2 ) + (x (5 , 1 ) << 3 ) + (x (11 , 2 ) << 4 ) + (x (7 , 4 ) << 6 ); }
0 commit comments