<div dir="ltr">Hi Richard,<br><br><div class="gmail_quote"><div dir="ltr">On Tue, Mar 20, 2018 at 9:33 AM Richard Hadsell <<a href="mailto:hadsell@blueskystudios.com">hadsell@blueskystudios.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Does clang differ from g++ in this respect?<br>
<br></blockquote><div><br></div><div>It shouldn't, we strive for compatibility here.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is from the man page for g++ 4.8.5 for Intel x86 and x86-64 processors:<br>
<br></blockquote><div><br></div><div>This is because this is for the in-tree x86 target. ARM is different. Mips is more like what I said. mn10300 is more like what I said. Power is different again, and in a different way.</div><div><br></div><div>However, Martin was asking about a non-specific out of tree target and the advice there should still hold.</div><div><br></div><div>-eric</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        -march=cpu-type<br>
            Generate instructions for the machine type cpu-type.  In contrast to -mtune=cpu-type, which merely tunes the generated code<br>
            for the specified cpu-type, -march=cpu-type allows GCC to generate code that may not run at all on processors other than the<br>
            one indicated.  Specifying -march=cpu-type implies -mtune=cpu-type.<br>
...<br>
        -mtune=cpu-type<br>
            Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions.<br>
            While picking a specific cpu-type schedules things appropriately for that particular chip, the compiler does not generate any<br>
            code that cannot run on the default machine type unless you use a -march=cpu-type option.  ...<br>
...<br>
        -mcpu=cpu-type<br>
            A deprecated synonym for -mtune.<br>
<br>
<br>
<br>
On 03/20/2018 12:40 AM, Eric Christopher via cfe-dev wrote:<br>
> Hi Martin,<br>
><br>
> Sorry about the delay here, but I've got some advice even though a lot of things aren't solid anywhere.<br>
><br>
> a) Does this match an out of tree target for gcc? If so, I'd match that.<br>
> b) Typically -march/-mtune (though the latter isn't supported in llvm at the moment, see an earlier post from me to llvm-dev on how to support that) are what I'd use for new ports. We used it in a number of new/out of tree ports in gcc as well.<br>
> c) -mcpu is occastionally used for "-march+-mtune" when -march by itself is generally "this architecture, but generic tuning".<br>
><br>
<br>
--<br>
<br>
Dick Hadsell                    <a href="tel:(203)%20992-6320" value="+12039926320" target="_blank">203-992-6320</a>  Fax: <a href="tel:(203)%20992-6001" value="+12039926001" target="_blank">203-992-6001</a><br>
Reply-to:                       <a href="mailto:hadsell@blueskystudios.com" target="_blank">hadsell@blueskystudios.com</a><br>
Blue Sky Studioshttp://<a href="http://www.blueskystudios.com" rel="noreferrer" target="_blank">www.blueskystudios.com</a><br>
1 American Lane, Greenwich, CT 06831-2560<br>
<br>
</blockquote></div></div>