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

Inconsistent design: parameter order of vcompress #167

Closed
HanKuanChen opened this issue Sep 22, 2022 · 0 comments · Fixed by #185
Closed

Inconsistent design: parameter order of vcompress #167

HanKuanChen opened this issue Sep 22, 2022 · 0 comments · Fixed by #185
Labels
Resolve for v1.0 Feature or problems we will close before the v1.0 release

Comments

@HanKuanChen
Copy link
Contributor

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);

@eopXD eopXD changed the title inconsistent design: parameter order of vcompress Inconsistent design: parameter order of vcompress Oct 3, 2022
@eopXD eopXD added the Resolve for v1.0 Feature or problems we will close before the v1.0 release label Jan 5, 2023
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
Labels
Resolve for v1.0 Feature or problems we will close before the v1.0 release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants