On 1/6/25 6:03 AM, Maciej W. Rozycki wrote:
Now that we have proper alignment determination for block moves in place
the case of copying a block of longword-aligned data has become real, so
implement the merging of loaded data from pairs of SImode registers into
single DImode registers for the purpose of using with unaligned stores
efficiently, as suggested by a comment in `alpha_expand_block_move' and
discard the comment.  Provide test cases accordingly.

        gcc/
        * config/alpha/alpha.cc (alpha_expand_block_move): Merge loaded
        data from pairs of SImode registers into single DImode registers
        if to be used with unaligned stores.

        gcc/testsuite/
        * gcc.target/alpha/memcpy-si-aligned.c: New file.
        * gcc.target/alpha/memcpy-si-unaligned.c: New file.
        * gcc.target/alpha/memcpy-si-unaligned-dst.c: New file.
        * gcc.target/alpha/memcpy-si-unaligned-src.c: New file.
        * gcc.target/alpha/memcpy-si-unaligned-src-bwx.c: New file.
OK
jeff

Reply via email to