JDK-8214239 (?): Missing x86_64.ad patterns for clearing and setting long vector bits
B. Blaser
bsrbnd at gmail.com
Fri Nov 8 11:40:49 UTC 2019
Yes, I'll also consider adding patterns for non-constant masks which
might help in collections like BitSet or EnumSet (see [1] & [2]) by
subsuming the shift operation provided that we do successful
experiments.
The range check of LLVM classification switch is somewhat different in
the sense that it uses BT (bit test) which unfortunately sets uncommon
flags (CF) instead of regular AND/TEST flags (ZF,...) which might
require some additional work to replace the existing operations?
However, the current patch being almost ready to be pushed, I'll look
at these questions in separate issues.
Thanks for these suggestions,
Bernard
[1] http://hg.openjdk.java.net/jdk/jdk/file/c709424ad48f/src/java.base/share/classes/java/util/BitSet.java#l452
[2] http://hg.openjdk.java.net/jdk/jdk/file/c709424ad48f/src/java.base/share/classes/java/util/RegularEnumSet.java#l165
On Thu, 7 Nov 2019 at 22:59, John Rose <john.r.rose at oracle.com> wrote:
>
> Would you consider adding patterns for non-constant masks also?
> It would be something like (And (LShift n) x), etc.
> It could be in this set or in an a follow-on.
> Thanks (says John who always wants more).
More information about the hotspot-compiler-dev
mailing list