On Sat, Apr 12, 2025 at 5:09 PM Andi Kleen <a...@firstfloor.org> wrote:
>
> From: Andi Kleen <a...@gcc.gnu.org>
>
> ... that uses -march=native -mtune=native to build a compiler optimized
> for the host.

-march=native implies -mtune=native so I think the latter is redundant.

> config/ChangeLog:
>
>         * bootstrap-native.mk: New file.
>
> gcc/ChangeLog:
>
>         * doc/install.texi: Document bootstrap-native.
> ---
>  config/bootstrap-native.mk | 1 +
>  gcc/doc/install.texi       | 7 +++++++
>  2 files changed, 8 insertions(+)
>  create mode 100644 config/bootstrap-native.mk
>
> diff --git a/config/bootstrap-native.mk b/config/bootstrap-native.mk
> new file mode 100644
> index 00000000000..a4a3d859408
> --- /dev/null
> +++ b/config/bootstrap-native.mk
> @@ -0,0 +1 @@
> +BOOT_CFLAGS := -march=native -mtune=native $(BOOT_CFLAGS)

bootstrap-O3 uses

BOOT_CFLAGS := -O3 $(filter-out -O%, $(BOOT_CFLAGS))

so do you want to filer-out other -march/-mtune/-mcpu options?

Some targets know -mcpu= instead of -march=, did you check whether
any of those have =native?

> diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
> index 4973f195daf..04a2256b97a 100644
> --- a/gcc/doc/install.texi
> +++ b/gcc/doc/install.texi
> @@ -3052,6 +3052,13 @@ Removes any @option{-O}-started option from 
> @code{BOOT_CFLAGS}, and adds
>  @itemx @samp{bootstrap-Og}
>  Analogous to @code{bootstrap-O1}.
>
> +@item @samp{bootstrap-native}
> +@itemx @samp{bootstrap-native}
> +Optimize the compiler code for the build host, if supported by the
> +architecture. Note this only affects the compiler, not the targeted
> +code. If you want the later, choose options suitable to the target you
> +are looking for. For example @samp{--with-cpu} would be a good starting 
> point.
> +
>  @item @samp{bootstrap-lto}
>  Enables Link-Time Optimization for host tools during bootstrapping.
>  @samp{BUILD_CONFIG=bootstrap-lto} is equivalent to adding
> --
> 2.47.1
>

Reply via email to