Hi,
Both will work. If you leave haswell you'll be fine.
According to the below:
https://en.wikichip.org/wiki/intel/microarchitectures/kaby_lake
it should be: -march=skylake
I always check the output with the compiler (you can check booting livecd sysrecuecd)
gcc -march=native -E -v - </dev/null 2>&1 | grep cc1
or if you wish:[ CFLAGS ]
put this in make.conf
CFLAGS="-O2 -pipe -march=native"
CXXFLAGS="${CFLAGS}"
and rebuild world. It shouldn't take long. ;-)