'ISA_INT' testcase 'simulation finished with error'
Closed this issue · 2 comments
Hello,
I have followed the steps in 'README.md' and run simulation of the testcases.
But unfortunately the 'ISA_INT' testcase showed 'simulation finished with error'.
I tried to locate the problem, and I found it in C906_INT_SMOKE.obj:
0000000000000ec0 <AUIPC>:
ec0: 00000117 auipc x2,0x0
ec4: 61a9 lui x3,0xa
ec6: 21b9 addiw x3,x3,14
ec8: 910e add x2,x2,x3 //00000000_0000aece
eca: 0000a217 auipc x4,0xa //00000000_0000aeca -> not equal to 0000aece
ece: 00410463 beq x2,x4,ed6 <AUIPC+0x16>
ed2: 1ab0206f j 387c <TEST_FAIL>
ed6: 00000117 auipc x2,0x0
eda: 0010019b addiw x3,x0,1
ede: 01fe slli x3,x3,0x1f
ee0: 01d1 addi x3,x3,20
ee2: 0021813b addw x2,x3,x2 //ffffffff_80000eea
ee6: 80000217 auipc x4,0x80000 //ffffffff_80000ee6 -> not equal to 80000eea
eea: 00410463 beq x2,x4,ef2 <ADD>
eee: 18f0206f j 387c <TEST_FAIL>
These two inequalities lead to the jumps to <TEST_FAIL>, and then the simulation finished with error.
The corresponding C906_INT_SMOKE.s is:
.global AUIPC
AUIPC:
auipc x2, 0x0
li x3, 0xa00e
c.add x2, x3
auipc x4, 0xa
bne x2, x4, TEST_FAIL
auipc x2, 0x0
li x3, 0x80000014
addw x2, x3, x2
auipc x4, 0x80000
bne x2, x4, TEST_FAIL
.option norvc
After I changed it into:
.global AUIPC
AUIPC:
auipc x2, 0x0
li x3, 0xa00a //changed here
c.add x2, x3
auipc x4, 0xa
bne x2, x4, TEST_FAIL
auipc x2, 0x0
li x3, 0x80000010 //changed here
addw x2, x3, x2
auipc x4, 0x80000
bne x2, x4, TEST_FAIL
.option norvc
the 'ISA_INT' simulation finished successfully.
My question is: "Is it a bug in 'ISA_INT' testcase?"
Here is my operating environment:
OS: Ubuntu 20.04
Tool: Xuantie-900-gcc-elf-newlib-x86_64-V2.4.0-20220428
Simulation: iverilog 10.3
similar issue encountered using toolchain v2.6.1. should not write auipc testcase using li.
yes, I agree with you