RFR: 8283307: Vectorize unsigned shift right on signed subword types

Fei Gao fgao at openjdk.java.net
Wed Apr 13 06:44:18 UTC 2022


On Tue, 12 Apr 2022 14:29:03 GMT, Jie Fu <jiefu at openjdk.org> wrote:

> Instead of just changing the opcode, can we replace `urshift` with `rshift` during SLP phase?

Sorry, what does "replace `urshift` with `rshift`" mean? Could you please explain it in detail? Thanks @DamonFool .

 Actually, we can only replace `urshift` with `rshift` in the stage of generating vector node, https://github.com/openjdk/jdk/blob/c35590282d54d8388f2f7501a30365e0a912bfda/src/hotspot/share/opto/superword.cpp#L2384, to guarantee its correctness. SLP may breaks off in any stage before it and, if so, we can't do the replacement because of the same reason as in GVN phase.

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

PR: https://git.openjdk.java.net/jdk/pull/7979


More information about the hotspot-compiler-dev mailing list