https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111828

--- Comment #9 from Kewen Lin <linkw at gcc dot gnu.org> ---
Peter had a check on gnu assembler (Thanks!) and found that even with -mpower10
specified it's still able to assemble HTM insns, so it means that for some
callee with power8 attributed has HTM inline asm, it can be successfully
compiled when it's inlined to a caller with power10 attributed (at least gnu
assembler involved). It sounds weird and unexpected that power10 attributed
function calls one power8 attributed function which has HTM insns, but it would
only break during runtime when running on Power10 (weird but safe if no power10
insns are exploited and run on power8 or power9 machine), so the point here is
to avoid inconsistent behaviors before and after inlining.

As Peter suggested, I think it's a good idea to make the inlining aggressive on
inline asm when the involved assembler can support that, but considering that
gcc configuration support --with-as and it's possible to have an assembler
which doesn't support HTM insns at power10 (like in future gnu assembler
changes its behavior if users complains, or other assembler alternatives decide
not to support it to avoid confusion etc.), it seems that we should also check
the given assembler's behavior at configuration?

Reply via email to