g cc Различия между -O3 и -Быстрые оптимизации - PullRequest
0 голосов
/ 15 апреля 2020

Я только что прочитал руководство g cc, чтобы узнать разницу между -O3 и -Ofast.

Для -O3

-O3

Optimize yet more. -O3 turns on all optimizations specified by -O2 and also turns on the following optimization flags:

-fgcse-after-reload 
-fipa-cp-clone
-floop-interchange 
-floop-unroll-and-jam 
-fpeel-loops 
-fpredictive-commoning 
-fsplit-paths 
-ftree-loop-distribute-patterns 
-ftree-loop-distribution 
-ftree-loop-vectorize 
-ftree-partial-pre 
-ftree-slp-vectorize 
-funswitch-loops 
-fvect-cost-model 
-fversion-loops-for-strides

В то время как -Ofast

-Быстрый

Disregard strict standards compliance. -Ofast enables all -O3 optimizations. It also enables optimizations that are not valid for

все стандартные программы. Включает -ffast-math, -fallow-store-data-races и Fortran-speci c -fstack-arrays, если не указан -fmax-stack-var-size и -fno-protect-parens

Поэтому мне было интересно, может быть, -Ofast по какой-то причине менее безопасен, чем -O3, и поэтому мне следует придерживаться -O3 в большинстве случаев.

Может Вы уточняете «практическую разницу» при их использовании? А если -Ofast действительно безопасно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...