S-type immediate: bits[31:25] || bits[11:7], sign-extended to 12 bits.
(word: u32)
| 905 | |
| 906 | // S-type immediate: bits[31:25] || bits[11:7], sign-extended to 12 bits. |
| 907 | fn s_imm(word: u32) -> i64 { |
| 908 | let hi = field(word, 31, 25); |
| 909 | let lo = field(word, 11, 7); |
| 910 | sign_ext((hi << 5) | lo, 12) |
| 911 | } |
| 912 | |
| 913 | // B-type immediate: [31]<<12 | [7]<<11 | [30:25]<<5 | [11:8]<<1, sign-extended to 13 bits. |
| 914 | fn b_imm(word: u32) -> i64 { |