GCCをそのまま実行すると、次のようになります。
gcc -O3 -O2 foo.c
GCC は最後に渡された最適化フラグを使用します (この場合はO2
)。しかし、これはすべてのフラグに当てはまりますか? たとえば、次のように GCC を実行すると:
gcc -mno-sse -msse bar.c
それが渡された最後のフラグだったので SSE をサポートしますか、それとも未定義の動作になりますか? 私の最初の実験では、それが SSE をサポートすることを示しているようですが、これがすべての場合に当てはまるかどうかはわかりません。