[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