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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
|
/home/spinalvm/hdl/riscv-compliance/work//I-SRAI-01.elf: file format elf32-littleriscv
Disassembly of section .text.init:
80000000 <_start>:
80000000: 00001097 auipc ra,0x1
80000004: 00008093 mv ra,ra
80000008: 00001117 auipc sp,0x1
8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start>
80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data>
80000014: 4011d213 srai tp,gp,0x1
80000018: 40f1d293 srai t0,gp,0xf
8000001c: 41f1d313 srai t1,gp,0x1f
80000020: 4001d393 srai t2,gp,0x0
80000024: 4101d413 srai s0,gp,0x10
80000028: 00312023 sw gp,0(sp)
8000002c: 00412223 sw tp,4(sp)
80000030: 00512423 sw t0,8(sp)
80000034: 00612623 sw t1,12(sp)
80000038: 00712823 sw t2,16(sp)
8000003c: 00812a23 sw s0,20(sp)
80000040: 00001097 auipc ra,0x1
80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data>
80000048: 00001117 auipc sp,0x1
8000004c: ff010113 addi sp,sp,-16 # 80001038 <test_A2_res>
80000050: 0000a403 lw s0,0(ra)
80000054: 40145493 srai s1,s0,0x1
80000058: 40f45513 srai a0,s0,0xf
8000005c: 41f45593 srai a1,s0,0x1f
80000060: 40045613 srai a2,s0,0x0
80000064: 41045693 srai a3,s0,0x10
80000068: 00812023 sw s0,0(sp)
8000006c: 00912223 sw s1,4(sp)
80000070: 00a12423 sw a0,8(sp)
80000074: 00b12623 sw a1,12(sp)
80000078: 00c12823 sw a2,16(sp)
8000007c: 00d12a23 sw a3,20(sp)
80000080: 00001097 auipc ra,0x1
80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data>
80000088: 00001117 auipc sp,0x1
8000008c: fc810113 addi sp,sp,-56 # 80001050 <test_A3_res>
80000090: 0000a683 lw a3,0(ra)
80000094: 4016d713 srai a4,a3,0x1
80000098: 40f6d793 srai a5,a3,0xf
8000009c: 41f6d813 srai a6,a3,0x1f
800000a0: 4006d893 srai a7,a3,0x0
800000a4: 4106d913 srai s2,a3,0x10
800000a8: 00d12023 sw a3,0(sp)
800000ac: 00e12223 sw a4,4(sp)
800000b0: 00f12423 sw a5,8(sp)
800000b4: 01012623 sw a6,12(sp)
800000b8: 01112823 sw a7,16(sp)
800000bc: 01212a23 sw s2,20(sp)
800000c0: 00001617 auipc a2,0x1
800000c4: f4c60613 addi a2,a2,-180 # 8000100c <test_A4_data>
800000c8: 00001697 auipc a3,0x1
800000cc: fa068693 addi a3,a3,-96 # 80001068 <test_A4_res>
800000d0: 00062903 lw s2,0(a2)
800000d4: 40195993 srai s3,s2,0x1
800000d8: 40f95a13 srai s4,s2,0xf
800000dc: 41f95a93 srai s5,s2,0x1f
800000e0: 40095b13 srai s6,s2,0x0
800000e4: 41095b93 srai s7,s2,0x10
800000e8: 0126a023 sw s2,0(a3)
800000ec: 0136a223 sw s3,4(a3)
800000f0: 0146a423 sw s4,8(a3)
800000f4: 0156a623 sw s5,12(a3)
800000f8: 0166a823 sw s6,16(a3)
800000fc: 0176aa23 sw s7,20(a3)
80000100: 00001617 auipc a2,0x1
80000104: f1060613 addi a2,a2,-240 # 80001010 <test_A5_data>
80000108: 00001697 auipc a3,0x1
8000010c: f7868693 addi a3,a3,-136 # 80001080 <test_A5_res>
80000110: 00062b83 lw s7,0(a2)
80000114: 401bdc13 srai s8,s7,0x1
80000118: 40fbdc93 srai s9,s7,0xf
8000011c: 41fbdd13 srai s10,s7,0x1f
80000120: 400bdd93 srai s11,s7,0x0
80000124: 410bde13 srai t3,s7,0x10
80000128: 0176a023 sw s7,0(a3)
8000012c: 0186a223 sw s8,4(a3)
80000130: 0196a423 sw s9,8(a3)
80000134: 01a6a623 sw s10,12(a3)
80000138: 01b6a823 sw s11,16(a3)
8000013c: 01c6aa23 sw t3,20(a3)
80000140: 00001d17 auipc s10,0x1
80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data>
80000148: 00001d97 auipc s11,0x1
8000014c: f50d8d93 addi s11,s11,-176 # 80001098 <test_B_res>
80000150: 000d2e03 lw t3,0(s10)
80000154: 401e5e93 srai t4,t3,0x1
80000158: 401edf13 srai t5,t4,0x1
8000015c: 401f5f93 srai t6,t5,0x1
80000160: 401fd093 srai ra,t6,0x1
80000164: 4010d113 srai sp,ra,0x1
80000168: 40115193 srai gp,sp,0x1
8000016c: 01cda023 sw t3,0(s11)
80000170: 01dda223 sw t4,4(s11)
80000174: 01eda423 sw t5,8(s11)
80000178: 01fda623 sw t6,12(s11)
8000017c: 001da823 sw ra,16(s11)
80000180: 002daa23 sw sp,20(s11)
80000184: 003dac23 sw gp,24(s11)
80000188: 00001097 auipc ra,0x1
8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data>
80000190: 00001117 auipc sp,0x1
80000194: f2410113 addi sp,sp,-220 # 800010b4 <test_C_res>
80000198: 0000a283 lw t0,0(ra)
8000019c: 4012d013 srai zero,t0,0x1
800001a0: 00012023 sw zero,0(sp)
800001a4: 00001097 auipc ra,0x1
800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data>
800001ac: 00001117 auipc sp,0x1
800001b0: f0c10113 addi sp,sp,-244 # 800010b8 <test_D_res>
800001b4: 0000a283 lw t0,0(ra)
800001b8: 4012d013 srai zero,t0,0x1
800001bc: 40105293 srai t0,zero,0x1
800001c0: 00012023 sw zero,0(sp)
800001c4: 00512223 sw t0,4(sp)
800001c8: 00001517 auipc a0,0x1
800001cc: e5850513 addi a0,a0,-424 # 80001020 <codasip_signature_start>
800001d0: 00001597 auipc a1,0x1
800001d4: ef058593 addi a1,a1,-272 # 800010c0 <_end>
800001d8: f0100637 lui a2,0xf0100
800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c>
800001e0 <complience_halt_loop>:
800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break>
800001e4: 00c52683 lw a3,12(a0)
800001e8: 00d62023 sw a3,0(a2)
800001ec: 00852683 lw a3,8(a0)
800001f0: 00d62023 sw a3,0(a2)
800001f4: 00452683 lw a3,4(a0)
800001f8: 00d62023 sw a3,0(a2)
800001fc: 00052683 lw a3,0(a0)
80000200: 00d62023 sw a3,0(a2)
80000204: 01050513 addi a0,a0,16
80000208: fd9ff06f j 800001e0 <complience_halt_loop>
8000020c <complience_halt_break>:
8000020c: f0100537 lui a0,0xf0100
80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60>
80000214: 00052023 sw zero,0(a0)
...
Disassembly of section .data:
80001000 <test_A1_data>:
80001000: 0000 unimp
...
80001004 <test_A2_data>:
80001004: 0001 nop
...
80001008 <test_A3_data>:
80001008: ffff 0xffff
8000100a: ffff 0xffff
8000100c <test_A4_data>:
8000100c: ffff 0xffff
8000100e: 7fff 0x7fff
80001010 <test_A5_data>:
80001010: 0000 unimp
80001012: 8000 0x8000
80001014 <test_B_data>:
80001014: ef10 fsw fa2,24(a4)
80001016: abcd j 80001608 <_end+0x548>
80001018 <test_C_data>:
80001018: 5678 lw a4,108(a2)
8000101a: 1234 addi a3,sp,296
8000101c <test_D_data>:
8000101c: ba98 fsd fa4,48(a3)
8000101e: fedc fsw fa5,60(a3)
80001020 <codasip_signature_start>:
80001020: ffff 0xffff
80001022: ffff 0xffff
80001024: ffff 0xffff
80001026: ffff 0xffff
80001028: ffff 0xffff
8000102a: ffff 0xffff
8000102c: ffff 0xffff
8000102e: ffff 0xffff
80001030: ffff 0xffff
80001032: ffff 0xffff
80001034: ffff 0xffff
80001036: ffff 0xffff
80001038 <test_A2_res>:
80001038: ffff 0xffff
8000103a: ffff 0xffff
8000103c: ffff 0xffff
8000103e: ffff 0xffff
80001040: ffff 0xffff
80001042: ffff 0xffff
80001044: ffff 0xffff
80001046: ffff 0xffff
80001048: ffff 0xffff
8000104a: ffff 0xffff
8000104c: ffff 0xffff
8000104e: ffff 0xffff
80001050 <test_A3_res>:
80001050: ffff 0xffff
80001052: ffff 0xffff
80001054: ffff 0xffff
80001056: ffff 0xffff
80001058: ffff 0xffff
8000105a: ffff 0xffff
8000105c: ffff 0xffff
8000105e: ffff 0xffff
80001060: ffff 0xffff
80001062: ffff 0xffff
80001064: ffff 0xffff
80001066: ffff 0xffff
80001068 <test_A4_res>:
80001068: ffff 0xffff
8000106a: ffff 0xffff
8000106c: ffff 0xffff
8000106e: ffff 0xffff
80001070: ffff 0xffff
80001072: ffff 0xffff
80001074: ffff 0xffff
80001076: ffff 0xffff
80001078: ffff 0xffff
8000107a: ffff 0xffff
8000107c: ffff 0xffff
8000107e: ffff 0xffff
80001080 <test_A5_res>:
80001080: ffff 0xffff
80001082: ffff 0xffff
80001084: ffff 0xffff
80001086: ffff 0xffff
80001088: ffff 0xffff
8000108a: ffff 0xffff
8000108c: ffff 0xffff
8000108e: ffff 0xffff
80001090: ffff 0xffff
80001092: ffff 0xffff
80001094: ffff 0xffff
80001096: ffff 0xffff
80001098 <test_B_res>:
80001098: ffff 0xffff
8000109a: ffff 0xffff
8000109c: ffff 0xffff
8000109e: ffff 0xffff
800010a0: ffff 0xffff
800010a2: ffff 0xffff
800010a4: ffff 0xffff
800010a6: ffff 0xffff
800010a8: ffff 0xffff
800010aa: ffff 0xffff
800010ac: ffff 0xffff
800010ae: ffff 0xffff
800010b0: ffff 0xffff
800010b2: ffff 0xffff
800010b4 <test_C_res>:
800010b4: ffff 0xffff
800010b6: ffff 0xffff
800010b8 <test_D_res>:
800010b8: ffff 0xffff
800010ba: ffff 0xffff
800010bc: ffff 0xffff
800010be: ffff 0xffff
|