This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Pass -mtune and -march options to assembler.
Richard Sandiford wrote:
>> Fortunately for all of us, I don't get to make policy unilaterally. :-)
>> I'm arguing for what I think the policy should be, though.
> OK, fair enough. I admit part of my fear here was that MIPS would be
> forced to switch to the directives model, even though it has a long
> and proud history of doing things the specs way (rightly IMO).
An unfortunate aspect of GCC is that so many of these things have been
decided on a port-by-port basis. One of GCC's greatest advantages --
it's multi-target consistency -- is weakened by all these small
differences that make targets inconsistent. So, if I could go back and
rewrite history, we'd have these arguments, make policy, and all ports
would behave the same. But, of course, I can't.
And, I'm convinced that backwards compatibility is vital. So, to the
extent that changing this on MIPS would have externally visible behavior
changes (which I think it would), I'd oppose the change, even though I
think that would yield an a priori superior design. In other words, I
consider consistency across GCC releases for MIPS more important than
consistency across architectures within in a given GCC release.
But, for new situations where this kind of functionality is required, my
position is unchanged: (0) to the extent that names of cores,
architectures, etc., need to be present in the assembler they should
exactly match the names present in the compiler, (1) as little
optimization as possible, and hopefully none at all, should be done in
the assembler, (2) to the extent the assembler needs information from
the compiler about the target ISA, core, or optimization options, that
information should be provided in the assembly file, not via
(650) 331-3385 x713