Parse `"rs2, imm(rs1)"` -> (`rs2_reg`, `rs1_reg`, `imm_i32`). Used by stores.
(operands: &str)
| 461 | // Uses t1 (x6) as a temporary for the high half. |
| 462 | const T1: u8 = 6; |
| 463 | let low32 = (imm & 0xFFFF_FFFF) as i32; |
| 464 | let high32 = ((imm >> 32) & 0xFFFF_FFFF) as i32; |
| 465 | |
| 466 | load32(T1, high32, &mut out); |
| 467 | out.push(AsmToken::Real(RealInstruction::Slli(Slli::new(T1, T1, 32)))); |
| 468 | load32(rd, low32, &mut out); |
| 469 | // Zero-extend low32 into rd (clear sign-extension from load32). |
| 470 | out.push(AsmToken::Real(RealInstruction::Slli(Slli::new(rd, rd, 32)))); |
| 471 | out.push(AsmToken::Real(RealInstruction::Srli(Srli::new(rd, rd, 32)))); |
no test coverage detected