RFR: 8293833: Error mixing types with -XX:+UseCMoveUnconditionally -XX:+UseVectorCmov

Fei Gao fgao at openjdk.org
Wed Oct 12 02:41:03 UTC 2022


On Mon, 10 Oct 2022 09:32:56 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

> May I ask if we can vectorise `Bool -> Cmp` into `VectorMaskCmp` and `CMove` into `VectorBlend`, this would help vectorise the pattern you mention in the description instead of bailing out? Thanks.

@merykitty Thanks for your kind review and question. 

That's really an interesting idea. IMO, vectorizing `Bool -> Cmp` and `CMove` separately, to support more cases, deserves a deep investigation. I'm not sure if it's feasible. But for the case in the description, even trying the idea, we still can't vectorize the case because we can't vectorize `i % 2` currently. In this way, we can't vectorize any chain involving `i % 2`.

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

PR: https://git.openjdk.org/jdk/pull/10627


More information about the hotspot-compiler-dev mailing list