This is the mail archive of the gcc-bugs@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: -fno-crossjumping not working + weird asm behavior


Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> writes:

>> Next thing I tried was "helping" gcc by generating jmp *%eax on the
>> spot using inline assembly (see the JMP macro below). Now I am getting
>> the following code which appears to be wrong because no code is
>> actually generated for the cases except for the indirect jump.
>
> Gcc does not actually understand semantics of the inline assembly code
> (its contents is just copied verbatim to the output assembler file,
> except for a straightforward replacement of register parameters).
> Specially, it does not know that the JMP macro jumps.

In fact, the manual explicitly statest that asm() operations must not
alter control flow.

zw


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