https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105463

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
(define_insn "*movmisalign<mode>_mve_load"
  [(set (match_operand:MVE_VLD_ST 0 "s_register_operand"                       
         "=w")
        (unspec:MVE_VLD_ST [(match_operand:MVE_VLD_ST 1
"neon_permissive_struct_operand" " Ux")]
         UNSPEC_MISALIGNED_ACCESS))]
  "((TARGET_HAVE_MVE && VALID_MVE_SI_MODE (<MODE>mode))
    || (TARGET_HAVE_MVE_FLOAT && VALID_MVE_SF_MODE (<MODE>mode)))
   && !BYTES_BIG_ENDIAN && unaligned_access"
  "vldr<V_sz_elem1>.<V_sz_elem>\t%q0, %E1"
  [(set_attr "type" "mve_load")]
)

-mno-unaligned-access "fixes" it, the above simply lets the improper(?) load
through.

Reply via email to