Нет, скорее всего, вы ничего не пропустили.Это было объяснено в этом посте
Как получить оптимизацию gcc -O1 без указания -O1
Существуют внутренние флаги, которые пользователь не может контролировать, но которые активированыс помощью глобальных флагов оптимизации, таких как -O1, -O2, -O3, -Os или -Ofast.
Вы можете попытаться «обмануть», сначала указав -O1, а затем добавив свои флаги.Но, тем не менее, нет гарантии, что вы получите тот же эффект, что и -O3, в первую очередь.
Короткая версия - просто не делайте этого.Используйте глобальные переключатели и при необходимости включайте / выключайте отдельные флаги.