On Sat, Apr 12, 2025 at 5:09 PM Andi Kleen <[email protected]> wrote:
>
> From: Andi Kleen <[email protected]>
>
> ... 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
>