[Ffmpeg-cvslog] r6729 - trunk/configure

Guillaume Poirier gpoirier
Thu Oct 19 17:54:54 CEST 2006


Hi,

M?ns Rullg?rd wrote:

>Guillaume POIRIER said:
>  
>
>>On 10/18/06, M?ns Rullg?rd <mru at inprovide.com> wrote:
>>    
>>
>>>gpoirier said:
>>>      
>>>
>>>>Author: gpoirier
>>>>Date: Wed Oct 18 14:33:42 2006
>>>>New Revision: 6729
>>>>
>>>>Modified:
>>>>   trunk/configure
>>>>
>>>>Log:
>>>>rename --tune to --cpu and make --cpu pass the apropriate -march=xx option to
>>>>        
>>>>
>>>the
>>>      
>>>
>>>>compiler.
>>>>Note that previous implementation (--tune) wasn't consistent with regards to
>>>>setting -march/-mcpu/-mtune whereas current --cpu now is
>>>>        
>>>>
>>>This is wrong.  GCC is inconsistent between architectures about the names of
>>>those
>>>flags.  This change is likely to break builds on all but x86 machines.
>>>      
>>>
>>Let me see. As far as I can see, x86 is the only arch for which -march
>>is documented as setting -mpcu or -mtune too.
>>
>>On other arches, it's not documented as such (but maybe the behaviour
>>is the same, who knows?)
>>
>>M?ns, if you haven't already, please read the patch and tell me if it
>>does what it's supposed to:
>>  --cpu sets the base intruction emitting scheme (-march);
>>  --tune (the one that is to come when I write it, not the old --tune)
>>sets the scheduling heuristic and other things that just make it run
>>better on the selected target. This is supposed to be controlled by
>>-mcpu or -mtune depending on GCC version (prior 3.4 uses -mcpu, the
>>newer uses -mtune).
>>
>>So as far as I can see, unless you give me further details in what is
>>wrong with the way --cpu is implemented, my implementation seems
>>correct to me...
>>    
>>
>
>What you say is true for x86, but not most other arches.  On some -mcpu
>does more or less what -march does on x86, and -march doesn't exist (error).
>Some other arches have both -mcpu and -march, but with different meanings
>than x86.  The same goes for -mtune.  Some arches have it, others don't, and
>where it does exist, it means different things.  The GCC info manual has
>all the details.
>

Should be fixed now. Reading GCC doc has been quite interesting,
especially ARM section, where I found out that -mtune, -mcpu, -march are
all valid options, but do not have the same meaning as other arches too
(in general, you have to use -mcpu or -march, whichever is supported,
and that sets instruction selection, scheduling, and whatsnot).


Guillaume




More information about the ffmpeg-cvslog mailing list