RFR: 8325520: Vector loads with offsets incorrectly compiled [v6]
Emanuel Peter
epeter at openjdk.org
Tue May 21 06:57:05 UTC 2024
On Mon, 13 May 2024 21:00:08 GMT, Damon Fenacci <dfenacci at openjdk.org> wrote:
>> I agree that it is quite convoluted probably also because I've put `if (!is_StoreVector())` (which is redundant) at the beginning to get the most common case out of the way but still...
>> At first I thought that multiple inheritance would be a good solution (masks and offsets could be inherited by the corresponding nodes) but the "HotSpot Coding Style" clearly says to avoid it...
>> So, I think in the end your second suggestion is the cleanest. Changing it...
>
> I've updated it. The condition unfortunately doesn't look as clean as the one above as we need to check for `nullptr` (either both or none and `eqv_uncast`). I've tried to make it as concise as possible (we could have made `mask` and `offsets` return a _unique_ node instead, so as to avoid the `nullptr`, but I had the impression it would just make everything less clear).
I think this is good, certainly much better than what we had before! 😊
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18347#discussion_r1607732682
More information about the hotspot-compiler-dev
mailing list