-
Notifications
You must be signed in to change notification settings - Fork 86
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
Inconsistent design: parameter order of vcompress #167
Labels
Resolve for v1.0
Feature or problems we will close before the v1.0 release
Comments
eopXD
added a commit
that referenced
this issue
Jan 13, 2023
This makes instructions of mnemonic vvm, vxm have consistent intrinsic interface. Old: vint32m1_t vmerge_vvm_i32m1 (vbool32_t mask, vint32m1_t op1, vint32m1_t op2, size_t vl); New: vint32m1_t vmerge_vvm_i32m1 (vint32m1_t op1, vint32m1_t op2, vbool32_t selector, size_t vl); Old: vint32m1_t vcompress_vm_i32m1 (vbool32_t mask, vint32m1_t src, size_t vl); New: vint32m1_t vcompress_vm_i32m1 (vint32m1_t src, vbool32_t selector, size_t vl); Address following issues: #140 #167 Signed-off-by: eop Chen <eop.chen@sifive.com>
eopXD
added a commit
to llvm/llvm-project
that referenced
this issue
Jan 13, 2023
From: vint32m1_t vmerge_vvm_i32m1 (vbool32_t mask, vint32m1_t op1, vint32m1_t op2, size_t vl); vint32m1_t vcompress_vm_i32m1 (vbool32_t mask, vint32m1_t src, size_t vl); To: vint32m1_t vmerge_vvm_i32m1 (vint32m1_t op1, vint32m1_t op2, vbool32_t selector, size_t vl); vint32m1_t vcompress_vm_i32m1 (vint32m1_t src, vbool32_t selector, size_t vl); Address issues: riscv-non-isa/rvv-intrinsic-doc#140 riscv-non-isa/rvv-intrinsic-doc#167 Pull request: riscv-non-isa/rvv-intrinsic-doc#185 Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D140686
CarlosAlbertoEnciso
pushed a commit
to SNSystems/llvm-debuginfo-analyzer
that referenced
this issue
Jan 13, 2023
From: vint32m1_t vmerge_vvm_i32m1 (vbool32_t mask, vint32m1_t op1, vint32m1_t op2, size_t vl); vint32m1_t vcompress_vm_i32m1 (vbool32_t mask, vint32m1_t src, size_t vl); To: vint32m1_t vmerge_vvm_i32m1 (vint32m1_t op1, vint32m1_t op2, vbool32_t selector, size_t vl); vint32m1_t vcompress_vm_i32m1 (vint32m1_t src, vbool32_t selector, size_t vl); Address issues: riscv-non-isa/rvv-intrinsic-doc#140 riscv-non-isa/rvv-intrinsic-doc#167 Pull request: riscv-non-isa/rvv-intrinsic-doc#185 Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D140686
veselypeta
pushed a commit
to veselypeta/cherillvm
that referenced
this issue
Jun 12, 2024
From: vint32m1_t vmerge_vvm_i32m1 (vbool32_t mask, vint32m1_t op1, vint32m1_t op2, size_t vl); vint32m1_t vcompress_vm_i32m1 (vbool32_t mask, vint32m1_t src, size_t vl); To: vint32m1_t vmerge_vvm_i32m1 (vint32m1_t op1, vint32m1_t op2, vbool32_t selector, size_t vl); vint32m1_t vcompress_vm_i32m1 (vint32m1_t src, vbool32_t selector, size_t vl); Address issues: riscv-non-isa/rvv-intrinsic-doc#140 riscv-non-isa/rvv-intrinsic-doc#167 Pull request: riscv-non-isa/rvv-intrinsic-doc#185 Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D140686
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is the current interface
vint8mf8_t vcompress_vm_i8mf8 (vbool64_t mask, vint8mf8_t dest, vint8mf8_t src, size_t vl);
However, vcompress is an unmasked instruction. The mask here is not a v0.t.
The interface should be
vint8mf8_t vcompress_vm_i8mf8 (vint8mf8_t dest, vint8mf8_t op1, vbool64_t op2, size_t vl);
The text was updated successfully, but these errors were encountered: