เบซเบผเบฑเบเบเบฒเบเบเบตเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ
GCC 10.1 เปเบเบฑเบเบเบตเปเปเบเบเปเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบซเบผเบฒเบเบขเปเบฒเบเปเบเบเบฒเบชเบฒ C++ เบเบตเปเบเบทเบเบเบฑเบเบเบฐเบเบฒเบชเปเบฒเบฅเบฑเบเบกเบฒเบเบเบฐเบเบฒเบ C++20, เบเบฒเบเบเบฑเบเบเบธเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเบเบฒเบชเบฒ C เปเบเบญเบฐเบเบฒเบเบปเบ (C2x), เบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบซเบกเปเปเบ backends เบฅเบงเบเบฅเบงเบกเปเบฅเบฐเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบเบปเบเบฅเบญเบ.
เบเบปเปเบโเบเป
-
เปเบเบตเปเบกเปเบฅเปเบง เบฎเบนเบเปเบเบเบเบฒเบเบเบปเบเบฅเบญเบเบเบญเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบชเบฐเบเบดเบ "-fanalyzer โ, เปเบเบดเปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบฅเบฐเบซเบงเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบตเปเปเบเบฑเปเบเปเบชเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเบเบฒเบเปเบซเบผเปเบเบปเปเบฒเบเบญเบเบเปเปเบกเบนเบเปเบเปเบเบเบเบฒเบ. เปเบซเบกเบเบชเบฒเบกเบฒเบเบเบงเบเบเบปเบเบเบฑเบเบซเบฒเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบฅเบงเบเบฅเบงเบก, เปเบเบฑเปเบเบเบฒเบเปเบเบชเบญเบเบเบฑเปเบเปเบเบซเบฒ free() function เบชเปเบฒเบฅเบฑเบเบเบทเปเบเบเบตเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบเบถเปเบ, เบเบฒเบเบฎเบปเปเบงเปเบซเบฅ descriptor เปเบเบฅเป, dereferencing เปเบฅเบฐ passing null pointers, เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ block memory freed, เบเบฒเบเบเปเบฒเปเบเปเบเปเบฒ uninitialized, เปเบฅเบฐเบญเบทเปเบเป. เบเบฒเบเบเปเบฒเปเบเปเบฎเบนเบเปเบเบเปเบซเบกเปเบชเปเบฒเบฅเบฑเบเบฅเบฐเบซเบฑเบ OpenSSL เปเบเปเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบเบงเบฒเบกโเบชเปเบฝเบโเบญเบฑเบโเบเบฐโเบฅเบฒเบโ . - เบเบฑเบเบเบธเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ interprocedural. IPA-SRA (Interprocedural Scalar Shared Replacement) pass เปเบเปเบเบทเบเบญเบญเบเปเบเบเปเบซเบกเปเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเปเบเปเบงเบฅเบฒเบเบนเบเบกเบฑเบเปเบฅเบฐ, เปเบเบเบฑเบเบเบฒเบชเบดเปเบเบญเบทเปเบเป, เบเบญเบเบเบตเปเปเบญเบปเบฒเบเปเบฒเบเบตเปเบเบดเบเปเบฅเปเปเบฅเบฐเบชเบปเปเบเบเบทเบเบเปเบฒเบเบตเปเบเปเปเปเบเปเปเบเป. เปเบเปเบซเบกเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ "-O2", เบเบฒเบเปเบฅเบทเบญเบ "-finline-functions" เบเบทเบเปเบเบตเบเปเบเป, เปเบเบดเปเบเบเบทเบเบเบฑเบเบเบธเบเบเบทเบเปเบซเบกเปเปเบเบทเปเบญเปเบซเปเบฅเบฐเบซเบฑเบเบเบตเปเบซเบเบฒเปเบซเบเปเบเบเบงเปเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ. เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ heuristic เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเป inline เปเบเปเบเบทเบเปเบฅเบฑเปเบ. เบเบฒเบเบเบฐเบซเบเบฒเบเบขเบนเปเปเบเปเบเบง เปเบฅเบฐเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ heuristics cloning เปเบเบเบฑเบเบเบธเบเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบญเบเปเบเบเบกเบนเบเบเปเบฒเปเบเบทเปเบญเบเบฒเบเบเบฐเปเบเบเบฐเบชเบดเบเบเบดเบเบปเบเบเบญเบเบเบฒเบเบซเบฑเบเปเบเบฑเบเบชเปเบงเบเบเบธเบเบเบปเบ. เบชเปเบฒเบฅเบฑเบ C++, เบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเปเบเบเบงเบดเปเบเบฒเบฐเบเบฒเบกเปเบเบเบเบฒเบกเบเบฐเปเบเบเปเบเปเบเบทเบเบเบฑเบเบเบธเบเปเบซเปเบเบตเบเบถเปเบ.
- เบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบงเบฅเบฒเปเบเบทเปเบญเบกเบเปเป (LTO). เปเบเบตเปเบกเปเบซเบกเปเบเบตเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเป
เบเบดเปเบกเบเบตเปเปเบซเบเบทเปเบญ เปเบเบทเปเบญเบฃเบตเปเบเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเปเบเบฅเปเบงเบฑเบเบเบธเบเปเบงเบ LTO bytecode. Parallel LTO passes เบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเปเบฒเบเบปเบเบเปเบฒเบเบงเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเปเบญเบกเปเบเบฑเบเปเบฎเบฑเบเปเบซเปเบงเบฝเบเบเบฒเบเปเบฅเบฐ, เบเปเบฒเบเบงเบเปเบเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเปเบเป, เปเบซเปเปเบเปเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเปเบฒเบเบงเบเบเบญเบ CPU cores เปเบเบฑเบเบเบฑเบเปเบเบเบฐเบซเบเบฒเบ. เปเบเบตเปเบกเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบตเบเบญเบฑเบ LTO bytecode เปเบเบเปเบเป zstd algorithm. - เบเบปเบเปเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบเบญเบตเบเปเบชเปเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบฅเบฐเบซเบฑเบ profile (PGO - Profile-guided optimization) เปเบเปเบเบทเบเบเบฑเบเบเบธเบ, เปเบเบดเปเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบตเบเบตเปเบชเบธเบเปเบเบเบญเบตเบเปเบชเปเบเบฒเบเบงเบดเปเบเบฒเบฐเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ. เบเบฑเบเบเบธเบเบเบฒเบเบเปเบฒเบฅเบธเบเบฎเบฑเบเบชเบฒเปเบเบฃเปเบเบฅเปเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบฅเบฐเบเบฒเบเปเบเบเบฅเบฐเบซเบฑเบเบฎเปเบญเบ / เปเบขเบฑเบ. เปเบเบเบเปเบฒเบเบเบฒเบเปเบฅเบทเบญเบ "
-fprofile-เบเปเบฒ ยป เบเบญเบเบเบตเปเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบกเปเบเปเปเบเบดเบ 4 เบกเบนเบเบเปเบฒเปเบเบฃเปเบเบฅเป, เบเบปเบงเบขเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบเบฒเบเบญเปเบญเบก เปเบฅเบฐเปเบซเปเบเปเปเบกเบนเบเปเบเบฃเปเบเบฅเปเบเบตเปเบเบฑเบเปเบเบเบเบงเปเบฒ. - เบเปเปเบกเบนเบเบชเบฐเปเบเบฒเบฐเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบฐเบซเบเบฒเบเปเบกเปเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ C, C++ เปเบฅเบฐ Fortran
OpenACC 2.6 , เปเบเบดเปเบเบเปเบฒเบเบปเบเปเบเบทเปเบญเบเบกเบทเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ offloading เปเบ GPUs เปเบฅเบฐเปเบเปเบเบเปเบเบตเบเบดเปเบชเบเปเบเบฑเปเบ NVIDIA PTX. เบเบฒเบเบเบฐเบเบดเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเปเบกเปเบเปเบเบทเบญเบเบชเปเบฒเปเบฅเบฑเบเปเบเบตเบ MP 5.0 (Open Multi-Processing), เปเบเบดเปเบเบเบณเบเบปเบ API เปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบณเปเบเปเบงเบดเบเบตเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบฐเปเบฒเบเปเบเบฅเบฐเบเบปเบเบซเบผเบฒเบเบซเบผเบฑเบ เปเบฅเบฐเบฅเบฐเบเบปเบเบเบฐเบชเบปเบก (CPU+GPU/DSP) เบเบตเปเบกเบตเปเปเบงเบเบเบงเบฒเบกเบเบณเบฎเปเบงเบกเบเบฑเบ เปเบฅเบฐ vectorization (SIMD). เบเบธเบเบชเบปเบกเบเบฑเบเบเบตเปเปเบเบตเปเบกเปเบเบปเปเบฒเบกเบฒเปเบเบฑเปเบ: Lastprivate conditionals, scan and loop directives, order and use_device_addr expressions. เบชเปเบฒเบฅเบฑเบ OpenMP เปเบฅเบฐ OpenACC, เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบเปเบเบทเบเปเบเบตเปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ offloading เปเบเบฎเบธเปเบเบเบตเบชเบตเป (Fiji) เปเบฅเบฐ GPUs AMD Radeon (GCN) เบฎเบธเปเบเบเบต 10 (VEGA 20/VEGA XNUMX). - เบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒเบเบญเบเบเบญเบเบเบปเบง C, เบเบฑเบเบเบฑเบ "เปเบเบปเปเบฒเปเบเบดเบ" เปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบทเปเบญเบญเบฐเบเบดเบเบฒเบเปเบเบดเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบญเบเบงเบฑเบเบเบธเบเบตเปเบชเบปเปเบเบเปเบฒเบเปเบเบเบเบฒเบเบญเปเบฒเบเบญเบดเบเบซเบผเบทเบเบปเบงเบเบตเป, เปเบฅเบฐเปเบเบทเปเบญเบกเปเบเบเบงเบฑเบเบเบธเบเบฑเปเบเบเปเบฒเบงเบเบฑเบ argument เบเปเบฒเบเบงเบเปเบเบฑเบกเบเบตเปเบกเบตเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฐเบซเบเบฒเบเบเบญเบเบงเบฑเบเบเบธ. เปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบฎเปเบงเบกเบเบฑเบเบเบฑเบ "เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ", "เบเบฐเปเบเบ" เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบทเปเบญเบเบงเบเบเบปเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเบเบฒเบเบซเบเปเบฒเบเบตเปเบเบนเปเปเบเป, เบเบปเบงเบขเปเบฒเบ, เปเบกเบทเปเบญเบเบฝเบเบเปเบฒเปเบเบซเบฒเบเบทเปเบเบเบตเปเบเบญเบเบเบญเบเปเบเบเบเบญเบเบญเบฒเปเบฃ. เบเบฑเบเปเบเปเปเบเบตเปเบกเบเบธเบเบชเบปเบกเบเบฑเบ "symver" เปเบเบทเปเบญเปเบเบทเปเบญเบกเปเบเบเบชเบฑเบเบเบฒเบฅเบฑเบเปเบเปเบเบฅเป ELF เบเบตเปเบกเบตเบเบปเบงเปเบฅเบเบชเบฐเปเบเบฒเบฐ.
- เปเบเบตเปเบกเบเบณเปเบเบทเบญเบเปเปเป:
- โ-Wstring-compareโ (เปเบเบตเบเปเบเปเบเปเบงเบ โ-Wextraโ) - เปเบเบทเบญเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบตเปเบชเบนเบเบเบทเบเบเบฝเบเบเบฝเบเบเบฑเบเบเบปเบเบเบญเบเบเบฒเบเปเบญเบตเปเบเบเบฑเบเบเบฑเบ strcmp เปเบฅเบฐ strncmp, เปเบเบดเปเบเปเบเบปเปเบฒเบเบฑเบเบเปเบฒเบเบปเบเบเบตเปเปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเบงเบฒเบกเบเบฒเบง. เบเบญเบเปเบถเปเบเบญเบฒเบเบดเบงเปเบกเบฑเบเปเบซเบเปเบเบงเปเบฒเบเบฐเปเบฒเบเบเบญเบเบญเบฒเปเบฃเปเบเบญเบฒเบเบดเบงเปเบกเบฑเบเบเบตเบชเบญเบ .
- "-Wzero-length-bounds" (เปเบเบตเบเปเบเปเบเปเบงเบ "-Warray-bounds") - เปเบเบทเบญเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบญเบปเบเบเบฐเบเบญเบ array เบเบญเบเบเบงเบฒเบกเบเบฒเบงเบชเบนเบ, เปเบเบดเปเบเบญเบฒเบเบเบฐเบเปเบฒเปเบเบชเบนเปเบเบฒเบเบเบฝเบเบเบฑเบเบเปเปเบกเบนเบเบญเบทเปเบเป.
- เบเบฒเบเปเบเบทเบญเบ "-Warray-bounds", "-Wformat-overflow", "-Wrestrict", "-Wreturn-local-addr" เปเบฅเบฐ "-Wstringop-overflow" เปเบเปเบเบทเบเบเบฐเบซเบเบฒเบเบญเบญเบเปเบเปเบเบทเปเบญเบเบฐเบซเบเบฒเบเบเปเบฒเบเบงเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบญเบเบเบญเบเปเบเบ. เบเบตเปเบเบทเบเบเบฑเบเบเบฒเบ.
- เบเบฐเบเบดเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบฅเบฐเบเบธเบเบปเบงเบญเบฑเบเบชเบญเบเบเบงเปเบฒเบเปเบเบเบเบปเบเปเบเบเบปเบงเบฅเบฐเบเบธเปเบเบเปเบเปเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเบฐเบเบธเบเบฑเบ (UTF-8 เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ) เปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเบปเบงเบฅเบฐเบเบธ UCN (\uNNNN เบซเบผเบท \UNNNNNNNN). เบเบปเบโเบเบปเบงโเบขเปเบฒเบ:
static const int ฯ = 3;
int get_naรฏve_pi() {
เบเบฑเบเบเบทเบ ฯ;
} - เบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ C, เบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบฅเบฑเบเบชเบฐเบเบฐเปเบซเบกเปเบเบตเปเบเบฑเบเบเบฐเบเบฒเบเบฒเบเปเบเบกเบฒเบเบเบฐเบเบฒเบ C2X เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ (เปเบเบตเบเปเบเปเบเบฒเบเปเบเบเบเบฒเบเบฅเบฐเบเบธ -std=c2x เปเบฅเบฐ -std=gnu2x): เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ syntax "[[]]" เบเบฒเบเบปเบเบเบถเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบปเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเปเบเบฑเปเบเปเบ C++ (เบเบปเบงเบขเปเบฒเบ: [[gnu ::const]], [[เบเบฐเบเบดเปเบชเบ]], [[fallthrough]] เปเบฅเบฐ [[maybe_unused]]. เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ "u8" syntax เบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบปเบเบเปเบฒเบเบปเบเบเบตเปเบเปเบงเบเบเบปเบงเบญเบฑเบเบชเบญเบ UTF-8.
เปเบเบตเปเบกเบกเบฒเปเบเบฃเปเปเปเปเบชเป . เปเบเบตเปเบก "%OB" เปเบฅเบฐ "%Ob" เบเบฒเบเบเบปเบเปเบเบเปเบชเป strftime. - เบฎเบนเบเปเบเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบ C เปเบกเปเบ "-fno-common", เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเบปเปเบฒเปเบเบดเบเบเบปเบงเปเบเบเบปเปเบงเปเบฅเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบเบเบถเปเบเปเบเบเบฒเบเปเบงเบเบต.
- เบชเปเบฒเบฅเบฑเบ C ++, เบเบฐเบกเบฒเบ 16 เบเบฒเบเบเปเบฝเบเปเบเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบชเปเบฒเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ, เบเบฑเบเบเบฐเบเบฒเปเบเบกเบฒเบเบเบฐเบเบฒเบ C ++ 20. เบฅเบงเบกเบเบฑเบเบเปเบฒเบชเปเบฒเบเบฑเบเบเบตเปเปเบเบตเปเบก "constinit"
เปเบฅเบฐเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบกเปเปเบเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ "เปเบเบงเบเบงเบฒเบกเบเบดเบ ". เปเบเบงเบเบงเบฒเบกเบเบดเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเปเบฒเบเบปเบเบเบธเบเบเบญเบเบเปเปเบเปเบฒเบเบปเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบญเบเปเบกเปเปเบเบเบเบตเป, เปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบก, เบเปเบฒเบเบฑเบเบเบธเบเบเบญเบ arguments เบเบตเปเบชเบฒเบกเบฒเบเบเบญเบกเบฎเบฑเบเปเบเปเปเบเบฑเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเปเบกเปเปเบเบ. เปเบเบงเบเบงเบฒเบกเบเบดเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบงเบฒเบกเบเปเปเบชเบญเบเบเปเบญเบเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบเบธเบเบชเบปเบกเบเบฑเบเบเบญเบเบเบฐเปเบเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบเบฒเบเปเบเปเบกเปเปเบเบเปเบฅเบฐเบเบธเบเบชเบปเบกเบเบฑเบเบเบฐเปเบเบเบเปเปเบกเบนเบเบเบญเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบ. - G++ เบชเบฐเปเบญเบเบเบฒเบเบเบงเบเบซเบฒเบเบถเบเบเบดเบเบณเบเบตเปเบเปเปเปเบเปเบเบณเบเบปเบเบเบตเปเปเบเบตเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเบงเบฑเบเบเบธเบเบปเบเบเบตเปเบเปเบฒเบ constexpr. เบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเปเบฅเบดเปเบเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเปเบเบ compiler เปเบกเบทเปเบญเบเบดเบเปเบฅเป constexpr. เปเบเบตเปเบกเบเบณเปเบเบทเบญเบเปเปเป "-Wmismatched-tags" เปเบฅเบฐ "-Wredundant-tags".
- เบเบฒเบเปเบฅเบทเบญเบเปเบเบงเบเปเบฒเบชเบฑเปเบเปเบซเบกเปเปเบเปเบเบทเบเบชเบฐเปเบซเบเบต:
- "-fallocation-dce" เปเบเบทเปเบญเปเบญเบปเบฒเบเบนเปเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบเบญเบเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบ "เปเบซเบกเป" เปเบฅเบฐ "เบฅเบถเบ".
- "-fprofile-partial-training" เปเบเบทเปเบญเบเบดเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบซเบฑเบเบเบตเปเบเปเปเบกเบตเบเบฒเบเบเบถเบเบญเบปเบเบฎเบปเบก.
- "-fprofile-reproducible เปเบเบทเปเบญเบเบงเบเบเบธเบกเบฅเบฐเบเบฑเบเบเบฒเบเปเบเปเบเบฑเบเบเบญเบเปเบเบฃเปเบเบฅเป.
- "-fprofile-prefix-path" เปเบเบทเปเบญเบเปเบฒเบเบปเบเปเบเปเบฅเบเบฐเบเปเบฅเบต build source เบเบทเปเบเบเบฒเบเบเบตเปเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเปเบเบฃเปเบเบฅเปเปเบเบเบเปเบฒเบเบซเบฒเบ (เบชเปเบฒเบฅเบฑเบ "-fprofile-generate=profile_dir" เปเบฅเบฐ "-fprofile-use=profile_dir").
- เปเบเบเปเปเบเบงเบฒเบกเปเบเบทเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒ, hyperlinks เปเบเปเบเบทเบเบชเบฐเบซเบเบญเบเปเบซเปเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเบซเบฒเปเบญเบเบฐเบชเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบทเบญเบเปเบซเบผเบปเปเบฒเบเบตเป. เบเบฒเบเบเบปเบเปเบเบ URL เบเบทเบเบเบงเบเบเบธเบกเปเบเบเปเบเปเบเบปเบงเปเบฅเบทเบญเบ "-fdiagnostics-urls".
- เปเบเบตเปเบกเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบ preprocessor "
__has_builtin ", เบเบถเปเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบงเบเบเบฒเปเบเบดเปเบเบซเบเปเบฒเบเบตเปเบชเปเบฒเบเปเบ. - เปเบเบตเปเบกเบเบฑเบเบเบฑเบเปเปเปเปเบเบเบปเบง "__builtin_roundeven" เบเปเบงเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฑเบเบเบฑเบเบเบฒเบเบฎเบญเบเบเบตเปเบเบณเบเบปเบเปเบงเปเปเบเบเปเปเบชเบฐเปเบเบฒเบฐ ISO/IEC TS 18661, เบเปเบฒเบเบเบฑเบ "เบฎเบญเบ", เปเบเปเบเบฒเบเบเบฑเบเบชเปเบงเบเบเบตเปเปเบซเบเปเบเบงเปเบฒ 0.5 เปเบเบดเบ (เปเบเบฑเบเบเปเบฒเปเบซเบเปเบเบงเปเบฒ), เปเปเบญเบเบเบงเปเบฒ 0.5. - เบฅเบปเบ (เปเบเบดเบเบชเบนเบ), เปเบฅเบฐเปเบเบปเปเบฒเบเบฑเบ 0.5 - เปเบฅเบตเปเบกเบเบฒเบ parity เบเบญเบเบเบปเบงเปเบฅเบ penultimate.
- เบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ AArch64, เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบเบฐเบซเบเบฒเบ SVE2 เปเบเปเบเบทเบเปเบเบตเปเบกเปเบฅเบฐเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ SVE (Scalable Vector Extension) เปเบเปเบเบทเบเบเบฑเบเบเบธเบ, เบฅเบงเบกเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบซเบเปเบฒเบเบตเปเปเบฅเบฐเบเบฐเปเบเบ SVE ACLE เบเบตเปเบกเบตเปเบเบเบปเบง, เปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเป vectorization. เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ LSE (เบเบฒเบเบเบฐเบซเบเบฒเบเบฅเบฐเบเบปเบเบเบฐเบซเบเบฒเบเปเบซเบเป) เปเบฅเบฐ TME (เบเบฒเบเบเบฐเบซเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ) เปเบเปเบเบทเบเบเบฐเบซเบเบฒเบ. เปเบเบตเปเบกเบเปเบฒเปเบเบฐเบเปเบฒเปเบซเบกเปเบเบตเปเบชเบฐเปเบซเบเบตเปเบ Armv8.5-A เปเบฅเบฐ Armv8.6-A, เบฅเบงเบกเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเบปเบงเปเบฅเบเปเบเบเบชเบธเปเบก, เบเบฒเบเบฎเบญเบ, เบเบฒเบเบเบนเบเบกเบฑเบเปเบเบฑเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ,
bfloat16 เปเบฅเบฐเบเบฒเบเบเบนเบเบกเบฒเบเบฃเบดเบเปเบเบทเปเบญเบ. เปเบเบตเปเบกเบเบฒเบเบฎเบญเบเบฎเบฑเบเปเบเปเบเบเปเบเบต
Arm Cortex-A77,
Arm Cortex-A76AE,
Arm Cortex-A65,
Arm Cortex-A65AE,
Arm Cortex-A34 เปเบฅเบฐ
Marvell ThunderX3. - เปเบเบตเปเบกเบเบฒเบเบฎเบญเบเบฎเบฑเบ ABI FDPIC (32-bit function pointers) เบชเปเบฒเบฅเบฑเบ ARM64. เบญเบญเบเปเบเบเปเปเป เปเบฅเบฐเบเบฑเบเบเบธเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบฒเบเบเบณเปเบเบตเบเบเบฒเบเบเบณเบเบงเบ 64-bit. เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ CPU
Arm Cortex-A77,
Arm Cortex-A76AE เปเบฅเบฐ
Arm Cortex-M35P. เบเบฐเบซเบเบฒเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเปเปเบกเบนเบ ACLE, เบฅเบงเบกเบเบฑเบ 32-bit SIMD, 16-bit multiplication, latch arithmetic, เปเบฅเบฐ DSP algorithm optimization เบญเบทเปเบเป. เปเบเบตเปเบกเบเบฒเบเบฎเบญเบเบฎเบฑเบเบเบฒเบเบเบปเบเบฅเบญเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒ ACLE CDE (Custom Datapath Extension). - เบเบฒเบเบเบฑเบเบเบธเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเปเบฅเบฐ vectorization เบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบเปเบ backend เบชเปเบฒเบฅเบฑเบ AMD GPUs เปเบเบเบญเบตเบเปเบชเป microarchitecture GCN.
- เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบญเบธเบเบฐเบเบญเบเบเบตเปเบเปเบฒเบเบเบท XMEGA เบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐ AVR
ATtiny202, ATtiny204, ATtiny402, ATtiny404, ATtiny406, ATtiny804, ATtiny806, ATtiny807, ATtiny1604, ATtiny1606, ATtiny1607, ATmega808, ATmega809mega1608mega1609, , ATmega3208 3209, ATmega4808 เปเบฅเบฐ ATmega4809. - เบเบฒเบเบเบฐเบซเบเบฒเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบธเบเบเปเบฒเปเบเบฐเบเปเบฒ Intel ENQCMD เปเบซเบกเป (-menqcmd) เปเบเปเบเบทเบเปเบเบตเปเบกเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ IA-32/x86-64. เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ Intel Cooperlake (-march=cooperlake, เบเบฐเบเบญเบเบกเบตเบชเปเบงเบเบเบฐเบซเบเบฒเบ AVX512BF16 ISA) เปเบฅเบฐ Tigerlake (-march=tigerlake, เบเบฐเบเบญเบเบกเบต CPUs MOVDIRI, MOVDIR64B เปเบฅเบฐ AVX512VP2INTERSECT ISA).
- เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบ HSAIL (Heterogeneous System Architecture Intermediate Language) เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบตเปเบซเบผเบฒเบเบซเบผเบฒเบเบเบฐเบเบดเบเปเบเบเบญเบตเบเปเบชเปเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ HSA เปเบเปเบเบทเบเบเบฐเบเบดเปเบชเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบฒเบเบเปเบญเบเปเบเบญเบฐเบเบฒเบเบปเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru