https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91927
--- Comment #10 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #9) > I think the following patch is the correct fix: > diff --git a/gcc/config/aarch64/aarch64-simd.md > b/gcc/config/aarch64/aarch64-simd.md > index ad4676bc167..787323255cb 100644 > --- a/gcc/config/aarch64/aarch64-simd.md > +++ b/gcc/config/aarch64/aarch64-simd.md > @@ -41,7 +41,7 @@ > (define_expand "movmisalign<mode>" > [(set (match_operand:VALL 0 "nonimmediate_operand") > (match_operand:VALL 1 "general_operand"))] > - "TARGET_SIMD" > + "TARGET_SIMD && !STRICT_ALIGNMENT" > { > /* This pattern is not permitted to fail during expansion: if both > arguments > are non-registers (e.g. memory := constant, which can be created by the > > > Basically movmisalign should not be there if strict alignment as it is just > emitting a set. That fixes one of the examples but not pr71727. As the Arm movsi issues show, there are many mid-end alignment bugs.