riscv-dv icon indicating copy to clipboard operation
riscv-dv copied to clipboard

Any Idea, why is vmv.x.s always generated with rd=zero ?

Open algrobman opened this issue 11 months ago • 2 comments

grep vmv.x.s riscvdv/out_2025-04-08/asm_test/* riscvdv/out_2025-04-08/asm_test/riscv_vector_arithmetic_test_0.S: vmv.x.s zero,v17 riscvdv/out_2025-04-08/asm_test/riscv_vector_arithmetic_test_0.S: vmv.x.s zero,v4 riscvdv/out_2025-04-08/asm_test/riscv_vector_arithmetic_test_0.S: vmv.x.s zero,v28 riscvdv/out_2025-04-08/asm_test/riscv_vector_arithmetic_test_0.S: vmv.x.s zero,v19 riscvdv/out_2025-04-08/asm_test/riscv_vector_arithmetic_test_0.S: vmv.x.s zero,v28 riscvdv/out_2025-04-08/asm_test/riscv_vector_arithmetic_test_0.S: vmv.x.s zero,v16 .... ( seems all vector instructions using 'rd' have 'rd' not randomized ...)

algrobman avatar May 04 '25 02:05 algrobman

the same issue is for vfmv.f.s - always selects ft0 FPR ...

algrobman avatar May 04 '25 16:05 algrobman

I fixed this in riscvdv/src/isa/riscv_vector_instr.sv:

virtual function void set_rand_mode(); string name = instr_name.name(); has_rs1 = 1; has_rs2 = 0; has_rd = 1; has_fs1 = 0; has_fs2 = 0; has_fs3 = 0; has_fd = 1; has_imm = 0;

algrobman avatar May 05 '25 17:05 algrobman