-
Notifications
You must be signed in to change notification settings - Fork 0
/
encoding.txt
53 lines (49 loc) · 5.42 KB
/
encoding.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
+=====================+======================+==========+=====================+=========+=============+
| class | instruction | format | f7 | f3 | custom |
+=====================+======================+==========+=====================+=========+=============+
| | | | | | |
| JAMBU_RV32_TYPE2 | jambu.fsri | 2R+I->1R | 00 : imm5 | 7 = 111 | 1 = 0101011 |
| | | | | | |
+=====================+======================+==========+=====================+=========+=============+
.macro jambu.fsri rd, rs1, rs2, imm // jambu.fsri => 00ii iiir rrrr rrrr r111 rrrr r010 1011
.insn r CUSTOM_1, 7, \imm+( 0*32), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_FSRI 0x0000702B
.endm // => #define MASK_JAMBU_FSRI 0xC000707F
+=====================+======================+==========+=====================+=========+=============+
| class | instruction | format | f7 | f3 | custom |
+=====================+======================+==========+=====================+=========+=============+
| | | | | | |
| JAMBU_RV32_TYPE3 | jambu.fsr.15 | 2R ->1R | 00 : 00000 | 7 = 111 | 3 = 1111011 |
| JAMBU_RV32_TYPE3 | jambu.fsr.6 | 2R ->1R | 00 : 00001 | 7 = 111 | 3 = 1111011 |
| JAMBU_RV32_TYPE3 | jambu.fsr.21 | 2R ->1R | 00 : 00010 | 7 = 111 | 3 = 1111011 |
| JAMBU_RV32_TYPE3 | jambu.fsr.27 | 2R ->1R | 00 : 00011 | 7 = 111 | 3 = 1111011 |
| | | | | | |
| JAMBU_RV64_TYPE2 | jambu.block.0 | 2R ->1R | 01 : 00000 | 7 = 111 | 3 = 1111011 |
| JAMBU_RV64_TYPE2 | jambu.block.1 | 2R ->1R | 01 : 00001 | 7 = 111 | 3 = 1111011 |
| JAMBU_RV64_TYPE2 | jambu.block.2 | 2R ->1R | 01 : 00010 | 7 = 111 | 3 = 1111011 |
| JAMBU_RV64_TYPE2 | jambu.block.3 | 2R ->1R | 01 : 00011 | 7 = 111 | 3 = 1111011 |
| | | | | | |
+=====================+======================+==========+=====================+=========+=============+
.macro jambu.fsr.15 rd, rs1, rs2 // jambu.fsr.15 => 0000 000r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, ( 0* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_FSR_15 0x0000707B
.endm // => #define MASK_JAMBU_FSR_15 0xFE00707F
.macro jambu.fsr.6 rd, rs1, rs2 // jambu.fsr.6 => 0000 001r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, ( 1* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_FSR_6 0x0200707B
.endm // => #define MASK_JAMBU_FSR_6 0xFE00707F
.macro jambu.fsr.21 rd, rs1, rs2 // jambu.fsr.21 => 0000 010r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, ( 2* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_FSR_21 0x0400707B
.endm // => #define MASK_JAMBU_FSR_21 0xFE00707F
.macro jambu.fsr.27 rd, rs1, rs2 // jambu.fsr.27 => 0000 011r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, ( 3* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_FSR_27 0x0600707B
.endm // => #define MASK_JAMBU_FSR_27 0xFE00707F
.macro jambu.block.0 rd, rs1, rs2 // jambu.block.0 => 0100 000r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, (32* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_BLOCK_0 0x4000707B
.endm // => #define MASK_JAMBU_BLOCK_0 0xFE00707F
.macro jambu.block.1 rd, rs1, rs2 // jambu.block.1 => 0100 001r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, (33* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_BLOCK_1 0x4200707B
.endm // => #define MASK_JAMBU_BLOCK_1 0xFE00707F
.macro jambu.block.2 rd, rs1, rs2 // jambu.block.2 => 0100 010r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, (34* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_BLOCK_2 0x4400707B
.endm // => #define MASK_JAMBU_BLOCK_2 0xFE00707F
.macro jambu.block.3 rd, rs1, rs2 // jambu.block.3 => 0100 011r rrrr rrrr r111 rrrr r111 1011
.insn r CUSTOM_3, 7, (35* 1), \rd, \rs1, \rs2 // => #define MATCH_JAMBU_BLOCK_3 0x4600707B
.endm // => #define MASK_JAMBU_BLOCK_3 0xFE00707F