riscv-non-isa / rvv-intrinsic-doc

https://jira.riscv.org/browse/RVG-153
BSD 3-Clause "New" or "Revised" License
281 stars 89 forks source link

Add more details in the specification #287

Closed eopXD closed 10 months ago

eopXD commented 10 months ago

While cleaning up the issue threads, I found some more details we need to have in the specification.

This PR:

nick-knight commented 2 months ago

@topperc recently noticed that return value for the vcpop and vfirst intrinsics had been switched from unsigned long and long to unsigned int and int, while the implementations in upstream LLVM still have the former types. This change appears to have been made in this PR, with the following justification:

Replace float16_t with _Float16 that is now supported by both LLVM and GCC. This keeps us away from the need to define our own type. (Resolves https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/31, and alongside also resolves https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/166.

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