This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Pass -mtune and -march options to assembler.
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: Valdimir Volynsky <vvv at ru dot ru>, "Joseph S. Myers" <joseph at codesourcery dot com>, Dave Korn <dave dot korn dot cygwin at googlemail dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 05 Jun 2009 07:57:13 +0100
- Subject: Re: [PATCH] Pass -mtune and -march options to assembler.
- References: <web-655551951@zbackend1.aha.ru> <200905261539.51071.paul@codesourcery.com> <web-659882722@zbackend1.aha.ru> <200905262251.09820.paul@codesourcery.com> <web-661253921@zbackend1.aha.ru> <4A1EBF3A.9030601@codesourcery.com> <web-665634208@zbackend1.aha.ru> <4A203D91.3000401@codesourcery.com> <web-666596970@zbackend1.aha.ru> <4A2058B8.8090905@codesourcery.com> <web-667508064@zbackend1.aha.ru> <4A214E03.9000108@gmail.com> <web-673425508@zbackend1.aha.ru> <Pine.LNX.4.64.0906021942130.25183@digraph.polyomino.org.uk> <web-677133068@zbackend1.aha.ru> <4A27FE68.5080703@codesourcery.com>
Mark Mitchell <mark@codesourcery.com> writes:
> Valdimir Volynsky wrote:
>> 2009-06-04 Vladimir Volynsky <vvv@ru.ru>
>>
>> PR target/40171
>> * config/i386/linux64.h (ASM_SPEC): Pass -mtune to the GNU assembler.
>> * config/i386/mingw-w64.h (ASM_SPEC): Likewise.
>> * config/i386/sol2-10.h (ASM_SPEC): Likewise.
>> * config/i386/x86-64.h (ASM_SPEC): Likewise.
>
> Sorry to keep going around on this -- but why not put directives in the
> .s file? You're already conditionalizing on HAVE_GNU_AS, so you know
> you're using the GNU assembler.
My usual answer to this is that we want gcc to be consistent when
used as a driver interface. So both of the following commands:
gcc -mtune=foo blah.c
gcc -mtune=foo blah.S
should produce code that is tuned for architecture "foo". We don't
require users to hard-code the tune target in C files (in the form
of pragmas, etc.) so it would be inconsistent to require them to
hard-code the tune target in asm code. (The role of the tuning target
is exactly the same in both: optimise for the given processor within
the limits imposed by the current architecture.)
A quick grep suggests that the only other gas ports to support -mtune
are MIPS and IA64. MIPS passes -mtune options down, so cross-platform
consistency is another argument in favour of the patch. (IA64 doesn't
pass it down, but I can't find a comment explaining why, or any indication
that this is deliberate.)
Richard