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

Bhavana Kilambi bkilambi at openjdk.org
Wed Aug 20 08:04:50 UTC 2025


On Mon, 18 Aug 2025 13:08:06 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Addressed review comments
>
> There's something that I still do not understand.
> 
> In your tests I see this:
> 
> 
>     // For vectorizable loops containing FP16 operations with an FP16 constant as one of the inputs, the IR
>     // node `(dst (Replicate con))` is generated to broadcast the constant into all lanes of an SVE register.
>     // On SVE-capable hardware with vector length > 16B, if the FP16 immediate is a signed value within the
>     // range [-128, 127] or a signed multiple of 256 in the range [-32768, 32512] for element widths of
>     // 16 bits or higher then the backend should generate the "replicateHF_imm_gt128b" machnode.
> 
> 
> Why is this restricted to special constants? You should be able to do this with any value by generating
> `mov rtemp, #n; dup zn.h, rtemp`. There's no need to generate `mov rtemp, #n; fmov stemp, rtemp; dup zn.h, stemp`

Hi @theRealAph if you got a chance to take a look at my response, was it clear enough or do you think this patch needs more changes? Thanks!

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

PR Comment: https://git.openjdk.org/jdk/pull/26589#issuecomment-3204737087


More information about the hotspot-compiler-dev mailing list