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.

Reply via email to