Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instruction vmandnot and vmornot have been changed to vmandn and vmorn in Vector Extension Version 1.0 #99

Open
hcube123 opened this issue May 21, 2024 · 2 comments

Comments

@hcube123
Copy link

In RISC-V "V" Vector Extension Version 1.0 chapter 15.1, instruction vmandnot and vmornot have been changed to vmandn and vmorn.
But in the riscv/arch_data/v_instructions.xml, the instructions are still the old version.

Are there any differences in the handcar implementation between the old and new versions, Or should I just change this xml file?

@hcube123
Copy link
Author

  1. I changed the riscv/arch_data/v_instructions.xml file, the output .S file works fine, but the sim.log still kept for the old version vmandnot.mm/vmornot.mm
  <I name="VMNAND.MM" isa="RISCV" group="Vector">
...
    <asm format="VMNAND.MM %s, %s, %s, %s" op1="vd" op2="vs2" op3="vs1" op4="vm"/>
  </I>
...
  <I name="VMORN.MM" isa="RISCV" group="Vector">
...
    <asm format="VMORN.MM %s, %s, %s, %s" op1="vd" op2="vs2" op3="vs1" op4="vm"/>
  </I>
0000000080011000:61ab2557 VMANDN.MM v10, v26, v22, Vector result
0000000080011004:70232357 VMORN.MM v6, v2, v6, Vector result 
Cpu 0 PC(VA) 0x0000000080011000 op: 0x0000000061ab2557 : vmandnot.mm v10, v26,     v22, v0.t
Cpu 0 PC(VA) 0x0000000080011004 op: 0x0000000070232357 : vmornot.mm v6, v2, v6    , v0.t
  1. I did this to fix the spike version problem:
  • Goto the riscv-isa-sim project, and git diff cfcf083a d750d6a to get a patch.
  • git checkout 7dbb7c and apply the patch to the standalone directory.
  • run ./regenerate_and_build.bash -n
    Now the new instruction version seems to work fine.

@hanfeng0114
Copy link
Contributor

The current version only support V0.9 version on force-riscv side.
I have issue an pr which integrate V1.0 spike. And u can have a try with it, which should only update force-riscv side codes.
It is really hard for me to spare time to opensource our own code.
Have a try if u want to update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants