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.
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. */