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

[RISC-V] Inconsistent implied/required extension behavior for zabha/zvk* #102249

Closed
patrick-rivos opened this issue Aug 6, 2024 · 5 comments
Closed

Comments

@patrick-rivos
Copy link
Contributor

patrick-rivos commented Aug 6, 2024

Zabha/Zvk currently requires the user to specify Zaamo/{V|Zve}.

Godbolt:
zabha: https://godbolt.org/z/bYrY8fzcv
zvk: https://godbolt.org/z/fqheWoM7d

This behavior doesn't seem to match the RISC-V spec:
Zabha spec: https://github.com/riscv/riscv-isa-manual/blob/d2999932625d2cab25bb2081f7da915411e65ad3/src/zabha.adoc?plain=1#L28-L29
Zvk* spec: https://github.com/riscv/riscv-isa-manual/blob/d2999932625d2cab25bb2081f7da915411e65ad3/src/vector-crypto.adoc?plain=1#L471-L473

"requires" is equivalent to "depends upon": riscvarchive/riscv-v-spec#723 (comment)
"depends upon" seems to be specified behavior: https://github.com/riscv/riscv-isa-manual/blob/399c9a759eb4540a65c60e2cc236164821ff2346/src/naming.tex#L46

This behavior isn't consistent within LLVM:
zcb "depends upon" zca and is implicitly added by llvm: https://godbolt.org/z/aoYGbaWvz

@llvmbot
Copy link
Member

llvmbot commented Aug 6, 2024

@llvm/issue-subscribers-backend-risc-v

Author: Patrick O'Neill (patrick-rivos)

Zabha/Zvk currently requires the user to specify Zaamo/{V|Zve}.

Godbolt:
zabha: https://godbolt.org/z/bYrY8fzcv
zvk: https://godbolt.org/z/fqheWoM7d

This behavior doesn't seem to match the RISC-V spec:
Zabha spec: https://github.com/riscv/riscv-isa-manual/blob/d2999932625d2cab25bb2081f7da915411e65ad3/src/zabha.adoc?plain=1#L28-L29
Zvk* spec: https://github.com/riscv/riscv-isa-manual/blob/d2999932625d2cab25bb2081f7da915411e65ad3/src/vector-crypto.adoc?plain=1#L471-L473

"requires" is equivalent to "depends upon": riscvarchive/riscv-v-spec#723 (comment)
"depends upon" seems to be specified behavior: https://github.com/riscv/riscv-isa-manual/blob/399c9a759eb4540a65c60e2cc236164821ff2346/src/naming.tex#L46

This behavior isn't consistent within LLVM:
zcb "depends upon" zca and is implicitly added by llvm: https://godbolt.org/z/aoYGbaWvz

@lenary
Copy link
Member

lenary commented Nov 11, 2024

I think the Zabha issue will be solved by #115694

I'm not sure there's a PR open to fix Zvk* yet.

@topperc
Copy link
Collaborator

topperc commented Nov 11, 2024

I think the Zabha issue will be solved by #115694

I'm not sure there's a PR open to fix Zvk* yet.

Zvk was already fixed a week or two ago.

@tclin914
Copy link
Contributor

I think the Zabha issue will be solved by #115694

I'm not sure there's a PR open to fix Zvk* yet.

Zvk was fixed by 94e7d9c and f53889f.

@tclin914
Copy link
Contributor

Zabha was fixed by: #115694

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

No branches or pull requests

6 participants