- A + B Problem
46行优化代码!
- @ 2026-2-9 15:40:52
%: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
-
nekoboy LV 10 @ 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