Hi all,

This 3rd patch in the series adds an inline sequence for the memset operation.
The aarch64-mops-memset-size-threshold param is added to control the size 
threshold for the sequence.
Its default setting is 256, which may seem a bit high, but it is consistent 
with the current
SIMD memset inline sequence limit, and future CPU tunings can override it 
easily as needed.

Bootstrapped and tested on aarch64-none-linux-gnu.
Pushing to trunk.
Thanks,
Kyrill

gcc/ChangeLog:

        * config/aarch64/aarch64.c (aarch64_expand_setmem_mops): Define.
        (aarch64_expand_setmem): Adjust for TARGET_MOPS.
        * config/aarch64/aarch64.h (CLEAR_RATIO): Adjust for TARGET_MOPS.
        (SET_RATIO): Likewise.
        * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_SETMEM.
        (aarch64_setmemdi): Define.
        (setmemdi): Adjust for TARGET_MOPS.
        * config/aarch64/aarch64.opt (aarch64-mops-memset-size-threshold):
        New param.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/mops_3.c: New test.

Attachment: mops_3.patch
Description: mops_3.patch

Reply via email to