https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82175

--- Comment #11 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
I've looked into this, I don't think there's anything to worry about.  The
printed options seem to take some of the command-line and other option
processing into account before printing out the results, so there may be some
subtle changes on options that don't matter.

(In reply to Andrew Roberts from comment #6)
> Thanks Richard, this is now ok, tested on armv7 and aarch64. 
> 
> However I do see differences in what is selected by march=native on arm
> between 7.2.0 and 8.0.0.20171001. Is this as expected? Or is it a work in
> progress? There seem to be significant changes...
> 
> On aarch64: The only difference is: (< is gcc-7.2.0, > is gcc-8)
> 
> <   -mtls-size=                                 [default]
> ---
> >   -mtls-size=                                 24
> 
> On armv7: (tested on RPI, and ODROID XU4)
> RPI:
> <   -march=                                   armv8-a+crc
> ---
> >   -march=                                   armv8-a+crc+simd (RPI)
> 
> ODROID XU4:
> <   -march=                                     armv7ve
> ---
> >   -march=                                     armv7ve+vfpv3-d16
> 
> Differences ommon to both RPI and ODROID XU4:
> >   -mbe32                                    [enabled]
> >   -mbe8                                     [disabled]

This is a new option, but only relevant on big-endian.  Normally you won't need
it even then as the default is normally worked out correctly from the
architecture.

> 
> <   -mcpu=                                    [default]
> <   -mfix-cortex-m3-ldrd                      [enabled]
> ---
> >   -mcpu=                                    

This is now handled internally as a string rather than an enumerated set, so
there's no 'default' value any more.

> >   -mfix-cortex-m3-ldrd                      [disabled]

Only relevant to cortex-m3.

> 
> <   -mrestrict-it                             [enabled]
> ---
> >   -mrestrict-it                             [disabled]
Only defaults to enabled on armv8-a and later.

> 
> <   -mstructure-size-boundary=                32
> ---
> >   -mstructure-size-boundary=                8

Despite what it says here, the default on linux has been 8 since the AAPCS was
introduced.  8 is correct.

> 
> <   -mthumb-interwork                         [enabled]
> ---
> >   -mthumb-interwork                         [disabled]

Thumb interworking (special code to support it) is only needed on ARMv4t. 
After that all code supports interworking whether you ask for it or not.

> 
> <   -mtp=                                     auto
> ---
> >   -mtp=                                     cp15

This is showing the resolved thread model for your selected architecture (gcc-7
looks to be showing the unresolved value).

> 
> <   -mtune=                                   [default]
> ---
> >   -mtune=

Similar to -mcpu.

Reply via email to