RFR: 8249893: AARCH64: optimize the construction of the value from the bits of the other two
Boris Ulasevich
bulasevich at openjdk.java.net
Mon Oct 5 17:40:53 UTC 2020
Let me revive the change request to C2 and AArch64 that applies Bitfield Insert instruction in the expression "(v1 &
0xFF) | ((v2 & 0xFF) << 8)".
Compared to the last round of review [2] I updated the transformation to apply BFI in more cases and added a jtreg test.
As before, compared to the original patch [1], the transformation logic is now in the common C2 code: a new
BitfieldInsert node has been introduced to replace Or+Shift+And sequence when possible, on AARCH a single BFI
instruction is emitted for the new node.
[1] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-July/039161.html
[2] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-August/039792.html
-------------
Commit messages:
- 8249893: AARCH64: optimize the construction of the value from the bits of the other two
Changes: https://git.openjdk.java.net/jdk/pull/511/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=511&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8249893
Stats: 329 lines in 9 files changed: 329 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/jdk/pull/511.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/511/head:pull/511
PR: https://git.openjdk.java.net/jdk/pull/511
More information about the hotspot-compiler-dev
mailing list