`vfirst` and `vcpop` return types unexpectedly changed
Closed this issue · 1 comments
(Cross-posting #287 (comment) to a new issue.)
In #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:
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 #31, and alongside also resolves #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.)
At this point, I suggest we just revert this part of #287.