RFR: 8361582: AArch64: Some ConH values cannot be replicated with SVE [v3]

Bhavana Kilambi bkilambi at openjdk.org
Thu Aug 7 08:27:33 UTC 2025


On Thu, 7 Aug 2025 08:24:02 GMT, Bhavana Kilambi <bkilambi at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/aarch64.ad line 4377:
>> 
>>> 4375: operand immI8_shift8()
>>> 4376: %{
>>> 4377:   predicate(Assembler::operand_valid_for_sve_dup_immediate((int64_t)n->get_int()));
>> 
>> `Assembler::operand_valid_for_sve_dup_immediate` sounds odd as the predicate for a generically sounding `immI8_shift8`. These operands are only used in `replicate` rules, though. So we might be taking precedent from immIAddSubV` rule:
>> 
>> 
>> // 32 bit integer valid for vector add sub immediate
>> operand immIAddSubV()
>> %{
>>   predicate(Assembler::operand_valid_for_sve_add_sub_immediate((int64_t)n->get_int()));
>>   match(ConI);
>> 
>>   op_cost(0);
>>   format %{ %}
>>   interface(CONST_INTER);
>> %}
>> 
>> 
>> I.e. rename these operands to `immIDupV`, `immLDupV`, `immHDupV` and adjust the comments to match?
>
> Done

Done

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26589#discussion_r2259529883


More information about the hotspot-compiler-dev mailing list