In https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/287, the return values for the vcpop and vfirst intrinsics were switched from unsigned long and long to unsigned int and int, while the implementations in upstream LLVM and GCC still have the former types. This API change appears to have been made in this PR, with the following justification:
FP16 is not relevant to those two issues, and the change made in this PR was not the agreed-upon solution to those issues. (I don't know if we had even come to a consensus: I had argued for a different solution altogether.)
(Cross-posting https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/287#issuecomment-2159273686 to a new issue.)
In https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/287, the return values for the
vcpop
andvfirst
intrinsics were switched fromunsigned long
andlong
tounsigned int
andint
, while the implementations in upstream LLVM and GCC still have the former types. This API change appears to have been made in this PR, with the following justification:FP16 is not relevant to those two issues, and the change made in this PR was not the agreed-upon solution to those issues. (I don't know if we had even come to a consensus: I had argued for a different solution altogether.)
At this point, I suggest we just revert this part of https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/287.