RFR: 8350177: C2 SuperWord: Integer.numberOfLeadingZeros, numberOfTrailingZeros, reverse and bitCount have input types wrongly turncated for byte and short

Jasmine Karthikeyan jkarthikeyan at openjdk.org
Mon Jun 30 03:55:41 UTC 2025


On Thu, 26 Jun 2025 05:53:44 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> @eme64 Thanks for the test results! I've added these nodes to the non-truncating list, as well as the other reduction nodes that showed up when running the vector tests.
>
> @jaskarth the tests look better now. I still saw this failure:
> 
> `jdk/incubator/vector/Byte64VectorTests.java`
> 
> Flags: `-XX:UseAVX=3 -XX:+UnlockDiagnosticVMOptions -XX:+UseKNLSetting` or `-XX:UseAVX=0` or `-XX:UseAVX=2` ... probably no flags are actually required.
> 
> `#  assert(false) failed: Unexpected node in SuperWord truncation: ExtractB`

@eme64 Thanks for running it again! I've pushed a fix for the `ExtractB` assert, and a proactive fix marking any nodes with `TypeVect` as their base type as non-truncating.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/25440#issuecomment-3017685880


More information about the hotspot-compiler-dev mailing list