On Thu, 20 Feb 2025 17:22:25 GMT, Ferenc Rakoczi <d...@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.

You might have to use an assembler from the latest binutils build (if the 
system default isn't the latest) and add the path to the assembler in the "AS" 
variable. Also you can run it something like - `python aarch64-asmtest.py | 
expand > asmtest.out.h`. Please let me know if you still face problems.

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

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

Reply via email to