https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91050
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-07-03 Ever confirmed|0 |1 --- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Alan Modra from comment #3) > We don't always emit .machine because that is a waste of time if the > .machine cpu matches the original cpu passed on the command line to gas. > .machine reloads the gas opcode table, which may take a significant time. That is a legitimate concern, of course, but how bad is that? More and more code uses .machine freely, in inline asm directly, or with function attributes for example. It would be a lot simpler for GCC to always use .machine. Maybe gas should delay initialising these tables until it sees the first actual insn? Some of my configurations *always* use .machine, and I never noticed any slowdown. I'll benchmark something.