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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
So it looks like gas does without -relax simply use bne.s which when used
explicitely results in

valarray.s: Assembler messages:
valarray.s:9: Error: jump not 3..10 bytes away (is 2)

a bne.s is one byte large while a bne.b is two bytes.  Still not sure why
gas chooses bne.b when no .balign is present but not when it is.  Possibly
because when fixing up from bne.s to bne.b the variant with .balign now
suddenly needs to insert nops to fulfill the requested alignment
(with bne.s the .balign is a no-op).

Reply via email to