-
Notifications
You must be signed in to change notification settings - Fork 173
Open
Description
Tested with commit e970f77, vid.v causes a hang in both vsim and verilator.
I did not use the build system from the app folder because it gave me some errors I don't remember now.
I copied crt0.S and the linker script from the app folder and set the linker script to align for 4 lanes (default).
I tried to keep the test as simple as possible while testing few other vector instructions.
main.S is as follow (also included in tar.gz)
.global main
.type main, @function
.section .text
main:
vsetvli t0, zero, e16, m4, ta, ma
vmv.v.i v0, 2
vwmul.vx v8, v0, zero
#ifdef HANG
vid.v v0
#endif
vadd.vi v0, v0, 1
vadd.vi v0, v0, -1
vadd.vx v0, v0, t0
vsub.vx v0, v0, t0
vslidedown.vi v16, v0, 2 // elem[0] = 2
addi t0, zero, 2
.rept 10
vwmacc.vx v8, t0, v16 // elem[0] = 10*2*2
.endr
vsetvli t0, zero, e32, m8, ta, ma
vmv.x.s a0, v8
// return value = elem[0] - 40; should be a0 = 0
addi a0, a0, -40
ret
.size main,.-main
.endThe attached makefile generates both no_hang.elf and hang.elf. no_hang.elf should finish successfully and hang.elf should hang.
hang.elf works fine when compiled for and run in spike.
Test source files ara_vid_hang.tar.gz
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels