From: Maciej W. Rozycki Date: Wed, 25 Dec 2024 22:23:40 +0000 (+0000) Subject: Alpha: Adjust MEM alignment for block clear [PR115459] X-Git-Tag: basepoints/gcc-16~3115 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2984a3fac3d6b98e2cd6d7ee1c701159be86af78;p=thirdparty%2Fgcc.git Alpha: Adjust MEM alignment for block clear [PR115459] By inference it appears to me that the same fix for PR target/115459 needs to be applied to the block clear operation that has been done for block move, as implemented by commit ccfe71518039 ("[alpha] adjust MEM alignment for block move [PR115459]"). gcc/ PR target/115459 * config/alpha/alpha.cc (alpha_expand_block_clear): Adjust MEM to match inferred alignment. --- diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc index 58da4a886321..7c28743f2ee3 100644 --- a/gcc/config/alpha/alpha.cc +++ b/gcc/config/alpha/alpha.cc @@ -4076,6 +4076,12 @@ alpha_expand_block_clear (rtx operands[]) else if (a >= 16) align = a, alignofs = 2 - c % 2; } + + if (MEM_P (orig_dst) && MEM_ALIGN (orig_dst) < align) + { + orig_dst = shallow_copy_rtx (orig_dst); + set_mem_align (orig_dst, align); + } } /* Handle an unaligned prefix first. */