%:pragma GCC optimize(3)
%:pragma GCC optimize("Ofast")
%:pragma GCC optimize("inline")
%:pragma GCC optimize("-fgcse")
%:pragma GCC optimize("-fgcse-lm")
%:pragma GCC optimize("-fipa-sra")
%:pragma GCC optimize("-ftree-pre")
%:pragma GCC optimize("-ftree-vrp")
%:pragma GCC optimize("-fpeephole2")
%:pragma GCC optimize("-ffast-math")
%:pragma GCC optimize("-fsched-spec")
%:pragma GCC optimize("unroll-loops")
%:pragma GCC optimize("-falign-jumps")
%:pragma GCC optimize("-falign-loops")
%:pragma GCC optimize("-falign-labels")
%:pragma GCC optimize("-fdevirtualize")
%:pragma GCC optimize("-fcaller-saves")
%:pragma GCC optimize("-fcrossjumping")
%:pragma GCC optimize("-fthread-jumps")
%:pragma GCC optimize("-funroll-loops")
%:pragma GCC optimize("-fwhole-program")
%:pragma GCC optimize("-freorder-blocks")
%:pragma GCC optimize("-fschedule-insns")
%:pragma GCC optimize("inline-functions")
%:pragma GCC optimize("-ftree-tail-merge")
%:pragma GCC optimize("-fschedule-insns2")
%:pragma GCC optimize("-fstrict-aliasing")
%:pragma GCC optimize("-fstrict-overflow")
%:pragma GCC optimize("-falign-functions")
%:pragma GCC optimize("-fcse-skip-blocks")
%:pragma GCC optimize("-fcse-follow-jumps")
%:pragma GCC optimize("-fsched-interblock")
%:pragma GCC optimize("-fpartial-inlining")
%:pragma GCC optimize("no-stack-protector")
%:pragma GCC optimize("-freorder-functions")
%:pragma GCC optimize("-findirect-inlining")
%:pragma GCC optimize("-fhoist-adjacent-loads")
%:pragma GCC optimize("-frerun-cse-after-loop")
%:pragma GCC optimize("inline-small-functions")
%:pragma GCC optimize("-finline-small-functions")
%:pragma GCC optimize("-ftree-switch-conversion")
%:pragma GCC optimize("-foptimize-sibling-calls")
%:pragma GCC optimize("-fexpensive-optimizations")
%:pragma GCC optimize("-funsafe-loop-optimizations")
%:pragma GCC optimize("inline-functions-called-once")
%:pragma GCC optimize("-fdelete-null-pointer-checks")
‵‵`

2 comments

  • @ 2026-2-9 20:52:40

    其实在部分未被限制情况下还有指令集:

    #pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
    
    • @ 2026-2-9 20:48:21

      经过运行,可以发现部分选项无效(已弃用):

      PS F:\Code> g++ -std=c++26 main.cc -o main.exe
      main.cc:24:40: warning: bad option '-fwhole-program' to pragma 'optimize' [-Wpragmas]
         24 | %:pragma GCC optimize("-fwhole-program")
            |                                        ^
      main.cc:31:42: warning: bad option '-fstrict-overflow' to pragma 'optimize' [-Wpragmas]
         31 | %:pragma GCC optimize("-fstrict-overflow")
            |                                          ^
      main.cc:33:42: warning: bad option '-fcse-skip-blocks' to pragma 'optimize' [-Wpragmas]
         33 | %:pragma GCC optimize("-fcse-skip-blocks")
            |                                          ^
      main.cc:47:52: warning: bad option '-funsafe-loop-optimizations' to pragma 'optimize' [-Wpragmas]
         47 | %:pragma GCC optimize("-funsafe-loop-optimizations")
            |                                                    ^
      main.cc:64:12: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
         64 | void solve()
            |            ^
      main.cc:64:12: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
      main.cc:64:12: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
      main.cc:64:12: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
      main.cc:114:13: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
        114 | signed main()
            |             ^
      main.cc:114:13: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
      main.cc:114:13: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
      main.cc:114:13: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
      PS F:\Code> 
      

      例如 -fwhole-program 应该在 pragma 中无用,-funsafe-loop-optimizations 在新版 GCC 移除等

      • 1

      Information

      ID
      56
      Time
      ms
      Memory
      MiB
      Difficulty
      1
      Tags
      # Submissions
      12952
      Accepted
      5857
      Uploaded By