This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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."