XUANTIE-RV/openc906

'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.

npuwth commented

yes, I agree with you