RFR: 8341834: C2 compilation fails with "bad AD file" due to Replicate

Vladimir Kozlov kvn at openjdk.org
Wed Oct 23 15:35:15 UTC 2024


On Wed, 23 Oct 2024 08:30:15 GMT, Roland Westrelin <roland at openjdk.org> wrote:

> Superword creates a `Replicate` node at a `ConvL2I` node and uses the
> type of the result of the `ConvL2I` to pick the type of the
> `Replicate` instead of the type of the input to the `ConvL2I`.

src/hotspot/share/opto/superwordVTransformBuilder.cpp line 231:

> 229:     } else {
> 230:       // Replicate the scalar same_input to every vector element.
> 231:       BasicType element_type = p0->is_Convert() ? p0->in(1)->bottom_type()->basic_type() : _vloop_analyzer.types().velt_basic_type(p0);

What vectors are generated (or not) with this change? The array in the test ins `int[]` but the element_type will be Long now. Will it bailout vectorization?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21660#discussion_r1813048372


More information about the hotspot-compiler-dev mailing list