This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Branch instructions that depend on target distance


On Mon, 24 Feb 2020 12:29:40 +0100
Andreas Schwab <schwab@suse.de> wrote:

> On Feb 24 2020, Petr Tesarik wrote:
> 
> > This works great ... until there's some inline asm() statement, for
> > which gcc cannot keep track of the length attribute, so it is probably
> > taken as zero.  
> 
> GCC computes it by counting the number of asm insns.  You can use
> ADJUST_INSN_LENGTH to adjust this as needed.

Hmm, that's interesting, but does it work for inline asm() statements?
The argument is essentially a free-form string (with some
substitution), and the compiler cannot know how many bytes they occupy.

Is there a way to set ADJUST_INSN_LENGTH in the asm() statement? Of
course, that would have to be inserted manually as some sort of
argument to asm() in the C code being compiled...

And yes, that would work for me if it is implemented.

Petr T

Attachment: pgp3yAxkeoLOp.pgp
Description: Digitální podpis OpenPGP


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]