Menu

compiler_optimizations Log in to Edit

OPT_CFLAGS="-O0"
OPT_CFLAGS_X86="-mno-3dnow -ffast-math -ftree-vectorizer-verbose=6 -fopt-info-vec-missed"
#OPT_CFLAGS_ARM="-mfloat-abi=hard -ffast-math -ftree-vectorizer-verbose=6 -fopt-info-optall"
#OPT_CFLAGS_ARM="-mfloat-abi=hard -ffast-math -ftree-vectorizer-verbose=6 -fopt-info-missed=MISSEDOPTIMIZATIONS.LOG"
OPT_CFLAGS_ARM="-mfloat-abi=hard -ffast-math"

case "$ac_cv_opt" in
sse)
OPT_CFLAGS="$OPT_CFLAGS_x86 -mmmx -msse -mfpmath=sse -ftree-vectorize"
;;
sse2)
OPT_CFLAGS="$OPT_CFLAGS_x86 -mmmx -msse -msse2 -mfpmath=sse -ftree-vectorize"
;;
sse3)
OPT_CFLAGS="$OPT_CFLAGS_x86 -mmmx -msse -msse2 -msse3 -mfpmath=sse -ftree-vectorize"
;;
sse4)
OPT_CFLAGS="$OPT_CFLAGS_x86 -mmmx -msse -msse2 -msse3 -msse4 -mfpmath=sse -ftree-vectorize"
;;
avx)
OPT_CFLAGS="$OPT_CFLAGS_x86 -mavx -mfpmath=sse -mfma -mavx512f -mavx512cd -ftree-vectorize"
;;
avx2)
OPT_CFLAGS="$OPT_CFLAGS_x86 -mavx2 -mfpmath=sse -mfma -mavx512f -mavx512cd -ftree-vectorize"
;;
i486)
OPT_CFLAGS="$OPT_CFLAGS_x86 -march=i486 -mtune=i486 -mno-mmx -mno-sse -mfpmath=387"
;;
i686)
OPT_CFLAGS="$OPT_CFLAGS_x86 -march=i686 -mtune=i686 -mmmx -msse -mfpmath=sse -ftree-vectorize"
;;
x86-64)
OPT_CFLAGS="$OPT_CFLAGS_x86 -march=x86-64 -mtune=k8 -mmmx -msse -msse2 -mfpmath=sse -ftree-vectorize"
;;
rpi1)
#OPT_CFLAGS="$OPT_CFLAGS_ARM -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfpu=vfp"
OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfpu=vfpv2 -funsafe-math-optimizations"
;;
rpi2)
#OPT_CFLAGS="$OPT_CFLAGS_ARM -mcpu=cortex-a7 -mfpu=neon-vfpv4"
OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=cortex-a7 -mtune=cortex-a7 -mfpu=neon-vfpv4 -mneon-for-64bits -funsafe-math-optimizations -ftree-vectorize -mvectorize-with-neon-quad"
;;
rpi3)
#OPT_CFLAGS="$OPT_CFLAGS_ARM -mcpu=cortex-a7 -mfpu=neon-vfpv4"
OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=cortex-a53 -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mneon-for-64bits -funsafe-math-optimizations -ftree-vectorize -mvectorize-with-neon-quad"
;;
rpi4)
#OPT_CFLAGS="$OPT_CFLAGS_ARM -mcpu=cortex-a7 -mfpu=neon-vfpv4"
#OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=cortex-a72 -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mneon-for-64bits -funsafe-math-optimizations -ftree-vectorize -mvectorize-with-neon-quad"
OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=cortex-a72 -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mneon-for-64bits -funsafe-math-optimizations -ftree-vectorize -mvectorize-with-neon-quad"
;;
bbb)
OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=cortex-a8 -mfpu=neon-vfpv3 -mneon-for-64bits -funsafe-math-optimizations -ftree-vectorize -mvectorize-with-neon-quad"
;;
cyclone5)
OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=cortex-a9 -mfpu=neon-vfpv3 -mneon-for-64bits -funsafe-math-optimizations -ftree-vectorize -mvectorize-with-neon-quad"
;;
nativeARM)
OPT_CFLAGS="$OPT_CFLAGS_ARM -Ofast -mcpu=native -mfpu=auto" # GCC for ARM uses -mcpu only for best-results
;;
native)
OPT_CFLAGS="$OPT_CFLAGS_X86 -Ofast -march=native -mtune=native -mfpmath=sse"
;;
none)
;;
esac


Watch RPI CPU Temperature

watch -n 0.5 vcgencmd measure_temp

#### Watch RPI CPU Frequency
watch -n 0.5 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.