@@ -72,8 +72,7 @@ impl Instruction {
7272 // I-type instruction with shamt has 5 bits for shamt.
7373 debug_assert ! (
7474 op_c <= 0x1F ,
75- "op_c must be in the range [0..32), got {}" ,
76- op_c
75+ "op_c must be in the range [0..32), got {op_c}"
7776 ) ;
7877 }
7978
@@ -199,7 +198,7 @@ impl Instruction {
199198 let rd = self . op_a ;
200199 let rs1 = self . op_b ;
201200 let rs2 = Register :: from ( self . op_c as u8 ) ;
202- format ! ( "{} {}, {}, {}" , opcode , rd , rs1 , rs2 )
201+ format ! ( "{opcode } {rd }, {rs1 }, {rs2}" )
203202 }
204203
205204 fn i_type_to_string ( & self , opcode : BuiltinOpcode ) -> String {
@@ -210,51 +209,51 @@ impl Instruction {
210209 BuiltinOpcode :: EBREAK | BuiltinOpcode :: ECALL => self . opcode . to_string ( ) ,
211210 BuiltinOpcode :: JALR => match ( rd, rs1, imm12) {
212211 ( Register :: X0 , Register :: X1 , 0 ) => "ret" . to_string ( ) ,
213- ( Register :: X0 , _, 0 ) => format ! ( "jr {}" , rs1 ) ,
212+ ( Register :: X0 , _, 0 ) => format ! ( "jr {rs1}" ) ,
214213 ( Register :: X1 , _, 0 ) => format ! ( "{} {}" , self . opcode, rs1) ,
215- _ => format ! ( "{} {}, {}, {}" , opcode , rd , rs1 , imm12 ) ,
214+ _ => format ! ( "{opcode } {rd }, {rs1 }, {imm12}" ) ,
216215 } ,
217216 BuiltinOpcode :: ADDI => match ( rd, rs1, imm12) {
218217 ( Register :: X0 , Register :: X0 , 0 ) => "nop" . to_string ( ) ,
219- ( _, Register :: X0 , _) => format ! ( "li {}, {}" , rd , imm12 ) ,
220- ( _, _, 0 ) => format ! ( "mv {}, {}" , rd , rs1 ) ,
221- _ => format ! ( "{} {}, {}, {}" , opcode , rd , rs1 , imm12 ) ,
218+ ( _, Register :: X0 , _) => format ! ( "li {rd }, {imm12}" ) ,
219+ ( _, _, 0 ) => format ! ( "mv {rd }, {rs1}" ) ,
220+ _ => format ! ( "{opcode } {rd }, {rs1 }, {imm12}" ) ,
222221 } ,
223222 BuiltinOpcode :: LB
224223 | BuiltinOpcode :: LH
225224 | BuiltinOpcode :: LW
226225 | BuiltinOpcode :: LBU
227226 | BuiltinOpcode :: LHU => {
228- format ! ( "{} {}, {}({})" , opcode , rd , imm12 , rs1 )
227+ format ! ( "{opcode } {rd }, {imm12 }({rs1 })" )
229228 }
230- _ => format ! ( "{} {}, {}, {}" , opcode , rd , rs1 , imm12 ) ,
229+ _ => format ! ( "{opcode } {rd }, {rs1 }, {imm12}" ) ,
231230 }
232231 }
233232
234233 fn s_type_to_string ( & self , opcode : BuiltinOpcode ) -> String {
235234 let rs1 = self . op_a ;
236235 let rs2 = self . op_b ;
237236 let imm12 = self . op_c as i32 ;
238- format ! ( "{} {}, {}({})" , opcode , rs2 , imm12 , rs1 )
237+ format ! ( "{opcode } {rs2 }, {imm12 }({rs1 })" )
239238 }
240239
241240 fn b_type_to_string ( & self , opcode : BuiltinOpcode ) -> String {
242241 let rs1 = self . op_a ;
243242 let rs2 = self . op_b ;
244243 let imm12 = self . op_c as i32 ;
245- format ! ( "{} {}, {}, 0x{:x}" , opcode , rs1 , rs2 , imm12 )
244+ format ! ( "{opcode } {rs1 }, {rs2 }, 0x{imm12 :x}" )
246245 }
247246
248247 fn u_type_to_string ( & self , opcode : BuiltinOpcode ) -> String {
249248 let rd = self . op_a ;
250249 let imm20 = self . op_c ;
251- format ! ( "{} {}, 0x{:x}" , opcode , rd , imm20 )
250+ format ! ( "{opcode } {rd }, 0x{imm20 :x}" )
252251 }
253252
254253 fn j_type_to_string ( & self , opcode : BuiltinOpcode ) -> String {
255254 let rd = self . op_a ;
256255 let imm20 = self . op_c as i32 ;
257- format ! ( "{} {}, 0x{:x}" , opcode , rd , imm20 )
256+ format ! ( "{opcode } {rd }, 0x{imm20 :x}" )
258257 }
259258
260259 // Encode the instruction struct to binary representation.
0 commit comments