On Mon, 30 Mar 2026 08:13:11 GMT, Emanuel Peter <[email protected]> wrote:
>> I did not write this - it was already there before!
>> But you are right it is obvious non-sense, given the assert below
>> `assert(resSizeLog2 >= 0);`
>>
>> I think I'm going to just delete these two lines. Given all the other
>> comments, they are now not very helpful any more. Let me know if you
>> disagree.
>
> Ah no wait. It is sensible and correct.
> But maybe I can reformulate it.
> `resSizeLog2 = 0` means the logical result is exactly a single byte.
> `resSizeLog2 < 0` would mean we have less than a byte in total for the logial
> result. So a fractional byte. That is obviously non-sense, hence the assert
> below.
Going with this:
~ 504 // resSizeLog2 = 0 => logical result only has a single byte
~ 505 // e.g. cast L64 (1-element long) to B8
(1-element byte)
+ 506 // resSizeLog2 < 0 => logical result has less than a byte ->
impossible!
+ 507 // currently, all vectors start with at least
8 bytes,
+ 508 // and we can contract by at most a factor of
8.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/30113#discussion_r3008254522