RFR: 8348561: Add aarch64 intrinsics for ML-DSA [v5]

Andrew Dinn adinn at openjdk.org
Mon Feb 24 17:16:00 UTC 2025


On Thu, 20 Feb 2025 17:22:25 GMT, Ferenc Rakoczi <duke at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/assembler_aarch64.hpp line 2618:
>> 
>>> 2616:   INSN(smaxp,  0, 0b101001, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
>>> 2617:   INSN(sminp,  0, 0b101011, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
>>> 2618:   INSN(sqdmulh,0, 0b101101, false); // accepted arrangements: T4H, T8H, T2S, T4S
>> 
>> Hi, not a comment on the algorithm itself but you might have to add these new instructions in the gtest for aarch64 here - test/hotspot/gtest/aarch64/aarch64-asmtest.py and use this file to generate test/hotspot/gtest/aarch64/asmtest.out.h which would contain these newly added instructions.
>
> I have tried that, but the python script (actually the as command that it started) threw error messages:
> 
> aarch64ops.s:338:24: error: index must be a multiple of 8 in range [0, 32760].
>         prfm    PLDL1KEEP, [x15, 43]
>                                  ^
> aarch64ops.s:357:20: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
>         sub     x1, x10, x23, sxth #2
>                               ^
> aarch64ops.s:359:20: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
>         add     x11, x21, x5, uxtb #3
>                               ^
> aarch64ops.s:360:22: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
>         adds    x11, x17, x17, uxtw #1
>                                ^
> aarch64ops.s:361:20: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
>         sub     x11, x0, x15, uxtb #1
>                               ^
> aarch64ops.s:362:19: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
>         subs    x7, x1, x0, sxth #2
>                             ^
> This is without any modifications from what is in the master branch currently.

@ferakocz This also really needs addressing before committing the patch. Perhaps @theRealAph can advise on how to circumvent the problems you found when trying to update the python script?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23300#discussion_r1968076559


More information about the hotspot-dev mailing list