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 Feb 24 2020, Petr Tesarik wrote:

> 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?

Yes, for a suitable definition of work.

> The argument is essentially a free-form string (with some
> substitution), and the compiler cannot know how many bytes they occupy.

That's why ADJUST_INSN_LENGTH can adjust it.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."


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