MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / mnemonic

Method mnemonic

crates/virtual-machine/src/cpu/decoder.rs:143–307  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

141}
142
143impl DecodedInsn {
144 pub fn mnemonic(&self) -> &'static str {
145 match self {
146 Self::Lui { .. } => "lui",
147 Self::Auipc { .. } => "auipc",
148 Self::Jal { .. } => "jal",
149 Self::Jalr { .. } => "jalr",
150 Self::Branch { funct3, .. } => match funct3 {
151 0 => "beq",
152 1 => "bne",
153 4 => "blt",
154 5 => "bge",
155 6 => "bltu",
156 7 => "bgeu",
157 _ => "b??",
158 },
159 Self::Load { funct3, .. } => match funct3 {
160 0 => "lb",
161 1 => "lh",
162 2 => "lw",
163 3 => "ld",
164 4 => "lbu",
165 5 => "lhu",
166 6 => "lwu",
167 _ => "l??",
168 },
169 Self::Store { funct3, .. } => match funct3 {
170 0 => "sb",
171 1 => "sh",
172 2 => "sw",
173 3 => "sd",
174 _ => "s??",
175 },
176 Self::AluImm { funct3, funct7, .. } => match funct3 {
177 0 => "addi",
178 1 => "slli",
179 2 => "slti",
180 3 => "sltiu",
181 4 => "xori",
182 5 => {
183 if funct7 & 0x20 != 0 {
184 "srai"
185 } else {
186 "srli"
187 }
188 }
189 6 => "ori",
190 7 => "andi",
191 _ => "imm??",
192 },
193 Self::AluImm32 { funct3, funct7, .. } => match funct3 {
194 0 => "addiw",
195 1 => "slliw",
196 5 => {
197 if funct7 & 0x20 != 0 {
198 "sraiw"
199 } else {
200 "srliw"

Callers 3

tickMethod · 0.45
stage_idMethod · 0.45
fmtMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected