https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127227
--- Comment #2 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
This usually indicates that some instruction sequence between the literal pool
and the referencing instruction has under-reported its size. To identify which
(it may be more than one) we need to examine the annotated output. With -Dp we
see comments like:
vldr d16, .L104+24 @ 360 [c=8 l=8] *neon_movv4si/4
vldr d17, .L104+32
vldr d18, .L104+16 @ 367 [c=8 l=4] *neon_movv2si/4
The important information here is the [... l=<n>] annotation; this is the
number of bytes that the instruction (or sequence up until the next annotated
instruction) is reported as using.
So:
vldr d16, .L104+24 @ 360 [c=8 l=8] *neon_movv4si/4
vldr d17, .L104+32
Says that these two instructions consume 8 bytes.