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