On Mon, Dec 13, 2021 at 3:29 PM Kyrylo Tkachov via Gcc-patches <
gcc-patches@gcc.gnu.org> wrote:

> Hi all,
>
> This patch adds the +mops architecture extension flag from the 2021 Arm
> Architecture extensions, Armv8.8-a.
> The +mops extensions introduce instructions to accelerate the memcpy,
> memset, memmove standard functions.
> The first patch here uses the instructions in the inline memcpy expansion.
> Further patches in the series will use similar instructions to inline
> memmove and memset.
>
> A new param, aarch64-mops-memcpy-size-threshold, is introduced to control
> the size threshold above which to
> emit the new sequence. Its default setting is 256 bytes, which is the same
> as the current threshold above
> which we'd emit a libcall.
>
> Bootstrapped and tested on aarch64-none-linux-gnu.
> Pushing to trunk.
> Thanks,
> Kyrill
>
> gcc/ChangeLog:
>
>         * config/aarch64/aarch64-option-extensions.def (mops): Define.
>         * config/aarch64/aarch64.c (aarch64_expand_cpymem_mops): Define.
>         (aarch64_expand_cpymem): Define.
>         * config/aarch64/aarch64.h (AARCH64_FL_MOPS): Define.
>         (AARCH64_ISA_MOPS): Define.
>         (TARGET_MOPS): Define.
>         (MOVE_RATIO): Adjust for TARGET_MOPS.
>         * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_CPYMEM.
>         (aarch64_cpymemdi): New pattern.
>         (cpymemdi): Adjust for TARGET_MOPS.
>         * config/aarch64/aarch64.opt (aarch64-mops-memcpy-size-threshol):
>         New param.
>         * doc/invoke.texi (AArch64 Options): Document +mops.
>
> gcc/testsuite/ChangeLog:
>
>         * gcc.target/aarch64/mops_1.c: New test.
>

Hi Kyrill,

And this test fails with -mabi=ilp32 too, sorry for the delay.

Thanks

Christophe

Reply via email to