RFR: 8348868: AArch64: Add backend support for SelectFromTwoVector [v3]
Bhavana Kilambi
bkilambi at openjdk.org
Tue Jun 17 08:18:38 UTC 2025
On Tue, 17 Jun 2025 03:00:59 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/aarch64_vector.ad line 7176:
>>
>>> 7174: vReg index, vReg tmp1) %{
>>> 7175: predicate((Matcher::vector_element_basic_type(n) == T_SHORT ||
>>> 7176: type2aelembytes(Matcher::vector_element_basic_type(n)) == 4) &&
>>
>> To use the same basic type check condition, can we use `type2aelembytes(Matcher::vector_element_basic_type(n)) == 2` instead of `Matcher::vector_element_basic_type(n) == T_SHORT` here?
>
> How about just using the negate condition of rule `vselect_from_two_vectors` ?
>
> predicate(Matcher::vector_element_basic_type(n) != T_BYTE &&
> (UseSVE < 2 || Matcher::vector_length_in_bytes(n) < 16));
Hi @XiaohongGong , thanks for your prompt review. I can't use the negate condition here as it will include `T_DOUBLE` and `T_LONG` as well which are not supported. I'll change it to the same basic type check instead.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23570#discussion_r2151627348
More information about the hotspot-compiler-dev
mailing list