# Come usare PC più potente per creare binari per un laptop

## ciro64

Il titolo spiega già tutto.

Attualmente tutto sembra Ok; anche il non più utilizzare initramfs è andata a buon fine.

Ora ... chiedo un po' di pazienza ....

Voglio creare pacchetti binari ottimizzati per un altro sistema.

Ho letto un po' in giro ma non ho trovato guide soddisfacenti in italiano.

Non penso che debba essere una cosa "esorbitante".

Mi farebbe piacere se potete aiutarmi "step by step" a questo mio "progettino.

In breve, vorrei:

1) Compilare i files binari ottimizzati per K9 sul mio PC con i7

2) Trasferire i files con ausilio per esempio di HDD usb esterno in laptop

3) installare i pkg compilati ed ottimizzati.

Grazie per qualsiasi intervento  :Smile: 

----------

## fedeliallalinea

Sul wiki c'e' una guida (in inglese ma molto semplice da capire) che ti dice proprio come fare quello che vuoi e la trovi a questo indirizzo.

Se poi non capisci qualche cosa puoi chiedere ma ricorda che io non l'ho mai fatto.

----------

## ciro64

Pensavo più semplice ... comunque grazie ... provo a "studiarci" sopra ....

Sicuramente non "a breve" .... invierò eventuale feedback positivo.

Grazie per l'attenzione  :Smile: 

----------

## fedeliallalinea

E' che devi mantenere le stesse identiche impostazioni della macchina in cui dovrai utilizzare i pacchetti binari.

Questo vuol dire cflag, use flag,... se no rischi solo problemi e uno dei metodi che ti permette questo e' con crossdev.

----------

## ciro64

 *fedeliallalinea wrote:*   

> E' che devi mantenere le stesse identiche impostazioni della macchina in cui dovrai utilizzare i pacchetti binari.
> 
> Questo vuol dire cflag, use flag,... se no rischi solo problemi e uno dei metodi che ti permette questo e' con crossdev.

 

Riguardo il "discorso relativo alle flags lo so benissimo concettualmente  :Smile: 

Appunto dev cercare di comprendere "i meccanismi" ....

Comunque Grazie dell'appoggio  :Smile: 

Ti / Vi Dirò ....

----------

## sabayonino

ciao

se non utilizzi un CFLAGS generico x86-64 , la macchina che destini alla compilazione deve avere le stesse flag cpu supportate per la creazione dei binari

in questo caso , i7 (INTEL , quale famiglia esattamente ? ) , non credo proprio supporti le stesse cpu-flags di una AMD-K9  . 

tranne se non ottimizzi per una architettura generica quale x86-64

esempio : 

CPU1 : F1 F2 F3 F4

CPU2 : F1 F2 F3 F4 F5 F6

CPU1 non potrà compilare pacchetti per CPU2 in quanto F5 F6 non sono supportate (a meno che si provi a disabilitarle -mno-F5 -mno-F6 e sperare che vengano accettate)

al contrario  , CPU2 può compialre tranquillamente per CPU1 in quanto supporta  tutte le flag CPU1

 *Quote:*   

> 
> 
> processor       : 1
> 
> vendor_id       : GenuineIntel
> ...

 

Puoi controllare la cpu cosa abilita di default

```
gcc -march=native -E -v - </dev/null 2>&1 | grep cc1
```

https://wiki.gentoo.org/wiki/Safe_CFLAGS

----------

## ciro64

Carissimo Sabayonino ... purtroppo il laptop di destinazione si è "fulminato" a livello gpu (AMD/ATI radeon) ... beh avaeva più di 8 anni .....

comunque il PC è basato su i7 "Haswell" 4771.

Ladiscussione p'uò anche continuare .. ho un eeepc da 

"rispolverare  :Very Happy: 

Comunque sempre grazie immensamente _'

----------

## sabayonino

ti faccio un esempio di compilazione con la CPU indicata sopra , emergendo un pacchettino veloce (less) e compilarlo per AMD K8

```
CFLAGS="-O2 -march=K8 -pipe" CXXFLAGS="${CFLAGS}" emerge less

 * IMPORTANT: 2 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

Calculating dependencies... done!

!!! The following installed packages are masked:

- www-client/opera-43.0.2442.806::gentoo (masked by: OPERA-2014 license(s))

A copy of the 'OPERA-2014' license is located at '/usr/portage/licenses/OPERA-2014'.

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sys-apps/less-487::gentoo

>>> Downloading 'ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/distfiles/less-487.tar.gz'

pathconf: Permission denied

--2017-02-19 14:36:24--  ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/distfiles/less-487.tar.gz

           => ‘/usr/portage/distfiles/less-487.tar.gz’

Resolving ftp.spline.inf.fu-berlin.de... 130.133.110.66

Connecting to ftp.spline.inf.fu-berlin.de|130.133.110.66|:21... connected.

Logging in as anonymous ... Logged in!

==> SYST ... done.    ==> PWD ... done.

==> TYPE I ... done.  ==> CWD (1) /mirrors/gentoo/distfiles ... done.

==> SIZE less-487.tar.gz ... 318488

==> PASV ... done.    ==> RETR less-487.tar.gz ... done.

Length: 318488 (311K) (unauthoritative)

less-487.tar.gz     100%[===================>] 311,02K   127KB/s    in 2,5s    

2017-02-19 14:36:30 (127 KB/s) - ‘/usr/portage/distfiles/less-487.tar.gz’ saved [318488]

 * less-487.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                             [ ok ]

>>> Unpacking source...

>>> Unpacking less-487.tar.gz to /var/tmp/portage/sys-apps/less-487/work

>>> Source unpacked in /var/tmp/portage/sys-apps/less-487/work

>>> Preparing source in /var/tmp/portage/sys-apps/less-487/work/less-487 ...

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/sys-apps/less-487/work/less-487 ...

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --with-regex=pcre --with-editor=/usr/libexec/editor

checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc

checking whether the C compiler works... no

configure: error: in `/var/tmp/portage/sys-apps/less-487/work/less-487':

configure: error: C compiler cannot create executables

See `config.log' for more details

!!! Please attach the following file when seeking support:

!!! /var/tmp/portage/sys-apps/less-487/work/less-487/config.log

 * ERROR: sys-apps/less-487::gentoo failed (configure phase):

 *   econf failed

 * 

 * Call stack:

 *               ebuild.sh, line 115:  Called src_configure

 *             environment, line 255:  Called econf '--with-regex=pcre' '--with-editor=/usr/libexec/editor'

 *        phase-helpers.sh, line 665:  Called __helpers_die 'econf failed'

 *   isolated-functions.sh, line 117:  Called die

 * The specific snippet of code:

 *              die "$@"

 * 

 * If you need support, post the output of `emerge --info '=sys-apps/less-487::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=sys-apps/less-487::gentoo'`.

 * The complete build log is located at '/var/tmp/portage/sys-apps/less-487/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/less-487/temp/environment'.

 * Working directory: '/var/tmp/portage/sys-apps/less-487/work/less-487'

 * S: '/var/tmp/portage/sys-apps/less-487/work/less-487'

>>> Failed to emerge sys-apps/less-487, Log file:

>>>  '/var/tmp/portage/sys-apps/less-487/temp/build.log'

 * Messages for package sys-apps/less-487:

 * ERROR: sys-apps/less-487::gentoo failed (configure phase):

 *   econf failed

 * 

 * Call stack:

 *               ebuild.sh, line 115:  Called src_configure

 *             environment, line 255:  Called econf '--with-regex=pcre' '--with-editor=/usr/libexec/editor'

 *        phase-helpers.sh, line 665:  Called __helpers_die 'econf failed'

 *   isolated-functions.sh, line 117:  Called die

 * The specific snippet of code:

 *              die "$@"

 * 

 * If you need support, post the output of `emerge --info '=sys-apps/less-487::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=sys-apps/less-487::gentoo'`.

 * The complete build log is located at '/var/tmp/portage/sys-apps/less-487/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/less-487/temp/environment'.

 * Working directory: '/var/tmp/portage/sys-apps/less-487/work/less-487'

 * S: '/var/tmp/portage/sys-apps/less-487/work/less-487'

```

configure: error: C compiler cannot create executables

e lo stesso per core2

```
 CFLAGS="-O2 -march=core2 -pipe" CXXFLAGS="${CFLAGS}" emerge less

>> Verifying ebuild manifests

>>> Emerging (1 of 1) sys-apps/less-487::gentoo

 * less-487.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                             [ ok ]

>>> Unpacking source...

>>> Unpacking less-487.tar.gz to /var/tmp/portage/sys-apps/less-487/work

>>> Source unpacked in /var/tmp/portage/sys-apps/less-487/work

>>> Preparing source in /var/tmp/portage/sys-apps/less-487/work/less-487 ...

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/sys-apps/less-487/work/less-487 ...

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --with-regex=pcre --with-editor=/usr/libexec/editor

checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables... 

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes

checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed

checking for library containing strerror... none required

checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking whether x86_64-pc-linux-gnu-gcc needs -traditional... no

checking for a BSD-compatible install... /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c

checking for special C compiler options needed for large files... no

checking for _FILE_OFFSET_BITS value needed for large files... no

checking for tgoto in -ltinfo... yes

checking for initscr in -lxcurses... no

checking for initscr in -lncursesw... (cached) yes

checking for initscr in -lncurses... (cached) no

checking for initscr in -lcurses... yes

checking for tgetent in -ltermcap... no

checking for tgetent in -ltermlib... no

checking for library containing regcmp... no

checking for working terminal libraries... using -ltinfo

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking ctype.h usability... yes

checking ctype.h presence... yes

checking for ctype.h... yes

checking errno.h usability... yes

checking errno.h presence... yes

checking for errno.h... yes

checking fcntl.h usability... yes

checking fcntl.h presence... yes

checking for fcntl.h... yes

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking stdio.h usability... yes

checking stdio.h presence... yes

checking for stdio.h... yes

checking for stdlib.h... (cached) yes

checking for string.h... (cached) yes

[...]>>> Installing (1 of 1) sys-apps/less-487::gentoo

>>> Auto-cleaning packages...

portage: COUNTER for virtual/os-headers-0 was corrupted; resetting to value of 0

portage: COUNTER for virtual/os-headers-0 was corrupted; resetting to value of 0

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

```

```
$ genlop -i less

 * sys-apps/less

   Total builds: 1

   Global build time: 25 seconds.

   Info about currently installed ebuild:

   * sys-apps/less-487

   Install date: Sun Feb 19 14:39:34 2017

   USE="pcre unicode"

   CFLAGS="-O2 -march=core2 -pipe"   CXXFLAGS="-O2 -march=core2 -pipe"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"

```

La CPU

```
processor       : 3

vendor_id       : GenuineIntel

cpu family      : 6

model           : 58

model name      : Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz

stepping        : 9

microcode       : 0x15

cpu MHz         : 3199.987

cache size      : 3072 KB

physical id     : 0

siblings        : 4

core id         : 1

cpu cores       : 2

apicid          : 3

initial apicid  : 3

fpu             : yes

fpu_exception   : yes

cpuid level     : 13

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts

bugs            :

bogomips        : 5385.91

clflush size    : 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:
```

supporta tutte le flags per core2

(normalmente la retrocompatibilità è abbastanza assicurata)

```
CFLAGS="-O2 -march=pentium4 -pipe" CXXFLAGS="${CFLAGS}" emerge less

...

checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc

checking whether the C compiler works... no

configure: error: in `/var/tmp/portage/sys-apps/less-487/work/less-487':

configure: error: C compiler cannot create executables

See `config.log' for more details

```

```
CFLAGS="-O2 -march=westmere" CXXFLAGS="${CFLAGS}" emerge less
```

```
genlop -i less

 * sys-apps/less

   Total builds: 2

   Global build time: 55 seconds.

   Average merge time: 27 seconds.

   Info about currently installed ebuild:

   * sys-apps/less-487

   Install date: Sun Feb 19 14:46:36 2017

   USE="pcre unicode"

   CFLAGS="-O2 -march=westmere"   CXXFLAGS="-O2 -march=westmere"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"

```

puoi comunque compilare per una architettura generica x86-64

----------

## ciro64

sandro@ci4771ht ~ $ cat Scripts/Cflags-test 

echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=native -O2 test.c -o test && rm test.c test

```

sandro@ci4771ht ~ $ Scripts/Cflags-test 

Using built-in specs.

COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/5.3.0/gcc

COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/5.3.0/lto-wrapper

Target: x86_64-pc-linux-gnu

Configured with: ../gcc-5.3.0/configure --disable-libssp --enable-multilib --enable-version-specific-runtime-libs --enable-libmudflap --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/5.3.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5.3.0 --enable-libstdcxx-time --enable-__cxa_atexit --enable-clocale=gnu --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --with-system-zlib --enable-obsolete --disable-werror --enable-secureplt --enable-lto --with-cloog --with-bugurl=http://bugs.funtoo.org --with-pkgversion='Funtoo 5.3.0-r1' --with-mpfr-include=/var/tmp/portage/sys-devel/gcc-5.3.0-r1/work/gcc-5.3.0/mpfr/src --with-mpfr-lib=/var/tmp/portage/sys-devel/gcc-5.3.0-r1/work/objdir/mpfr/src/.libs --enable-libgomp --build=x86_64-pc-linux-gnu --enable-objc-gc --enable-libgomp --enable-languages=c,c++,objc,obj-c++,fortran,go,ada --disable-libgcj --disable-esp --disable-libsanitizer

Thread model: posix

gcc version 5.3.0 (Funtoo 5.3.0-r1) 

COLLECT_GCC_OPTIONS='-v' '-Q' '-march=native' '-O2' '-o' 'test'

 /usr/libexec/gcc/x86_64-pc-linux-gnu/5.3.0/cc1 -v test.c -march=haswell -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mrtm -mhle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-pcommit -mno-mwaitx --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=haswell -dumpbase test.c -auxbase test -O2 -version -o /tmp/ccVISgWt.s

GNU C11 (Funtoo 5.3.0-r1) version 5.3.0 (x86_64-pc-linux-gnu)

        compiled by GNU C version 5.3.0, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072

ignoring nonexistent directory "/usr/local/include"

ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/include"

#include "..." search starts here:

#include <...> search starts here:

 /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include

 /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed

 /usr/include

End of search list.

GNU C11 (Funtoo 5.3.0-r1) version 5.3.0 (x86_64-pc-linux-gnu)

        compiled by GNU C version 5.3.0, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072

options passed:  -v test.c -march=haswell -mmmx -mno-3dnow -msse -msse2

 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul

 -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm

 -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mrtm -mhle -mrdrnd -mf16c

 -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt

 -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1

 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw

 -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-pcommit

 -mno-mwaitx --param l1-cache-size=32 --param l1-cache-line-size=64

 --param l2-cache-size=8192 -mtune=haswell -O2

options enabled:  -faggressive-loop-optimizations -falign-labels

 -fasynchronous-unwind-tables -fauto-inc-dec -fbranch-count-reg

 -fcaller-saves -fchkp-check-incomplete-type -fchkp-check-read

 -fchkp-check-write -fchkp-instrument-calls -fchkp-narrow-bounds

 -fchkp-optimize -fchkp-store-bounds -fchkp-use-static-bounds

 -fchkp-use-static-const-bounds -fchkp-use-wrappers

 -fcombine-stack-adjustments -fcommon -fcompare-elim -fcprop-registers

 -fcrossjumping -fcse-follow-jumps -fdefer-pop -fdelete-null-pointer-checks

 -fdevirtualize -fdevirtualize-speculatively -fdwarf2-cfi-asm

 -fearly-inlining -feliminate-unused-debug-types -fexpensive-optimizations

 -fforward-propagate -ffunction-cse -fgcse -fgcse-lm -fgnu-runtime

 -fgnu-unique -fguess-branch-probability -fhoist-adjacent-loads -fident

 -fif-conversion -fif-conversion2 -findirect-inlining -finline

 -finline-atomics -finline-functions-called-once -finline-small-functions

 -fipa-cp -fipa-cp-alignment -fipa-icf -fipa-icf-functions

 -fipa-icf-variables -fipa-profile -fipa-pure-const -fipa-ra

 -fipa-reference -fipa-sra -fira-hoist-pressure -fira-share-save-slots

 -fira-share-spill-slots -fisolate-erroneous-paths-dereference -fivopts

 -fkeep-static-consts -fleading-underscore -flifetime-dse -flra-remat

 -flto-odr-type-merging -fmath-errno -fmerge-constants

 -fmerge-debug-strings -fmove-loop-invariants -fomit-frame-pointer

 -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole

 -fpeephole2 -fprefetch-loop-arrays -free -freg-struct-return

 -freorder-blocks -freorder-blocks-and-partition -freorder-functions

 -frerun-cse-after-loop -fsched-critical-path-heuristic

 -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock

 -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec

 -fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fschedule-fusion

 -fschedule-insns2 -fsemantic-interposition -fshow-column -fshrink-wrap

 -fsigned-zeros -fsplit-ivs-in-unroller -fsplit-wide-types -fssa-phiopt

 -fstdarg-opt -fstrict-aliasing -fstrict-overflow

 -fstrict-volatile-bitfields -fsync-libcalls -fthread-jumps

 -ftoplevel-reorder -ftrapping-math -ftree-bit-ccp -ftree-builtin-call-dce

 -ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop

 -ftree-copyrename -ftree-cselim -ftree-dce -ftree-dominator-opts

 -ftree-dse -ftree-forwprop -ftree-fre -ftree-loop-if-convert

 -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize

 -ftree-parallelize-loops= -ftree-phiprop -ftree-pre -ftree-pta

 -ftree-reassoc -ftree-scev-cprop -ftree-sink -ftree-slsr -ftree-sra

 -ftree-switch-conversion -ftree-tail-merge -ftree-ter -ftree-vrp

 -funit-at-a-time -funwind-tables -fvar-tracking -fvar-tracking-assignments

 -fzero-initialized-in-bss -m128bit-long-double -m64 -m80387 -mabm -maes

 -malign-stringops -mavx -mavx2 -mbmi -mbmi2 -mcx16 -mf16c -mfancy-math-387

 -mfma -mfp-ret-in-387 -mfsgsbase -mfxsr -mglibc -mhle -mieee-fp

 -mlong-double-80 -mlzcnt -mmmx -mmovbe -mpclmul -mpopcnt -mpush-args

 -mrdrnd -mred-zone -mrtm -msahf -msse -msse2 -msse3 -msse4 -msse4.1

 -msse4.2 -mssse3 -mtls-direct-seg-refs -mvzeroupper -mxsave -mxsaveopt

```

Penso sia esaustivo riguardo mia cpu con il native  :Smile: 

----------

