αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžˆαž»αžαž…αž„αž€αŸ’αžšαž„ GCC 9

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž˜αž½αž™αž†αŸ’αž“αžΆαŸ†αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αžΆαž“αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αžŠαŸ„αž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ GCC αŸ§αžŠαŸ‚αž›αž‡αžΆαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžΆαžαžΆ GCC 9.x αžαŸ’αž˜αžΈαŸ” αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž’αž“αž»αž›αŸ„αž˜β€‹αžαžΆαž˜ αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžαŸ’αž˜αžΈαŸ” αž›αŸαžαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αž€αŸ†αžŽαŸ‚ 9.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž αžΎαž™αž˜αž·αž“αž™αžΌαžšαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž˜αž»αž“αž–αŸαž›αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ GCC 9.1 សអខអ GCC 10.0 αž”αžΆαž“αž•αŸ’αžαžΆαž…αŸ‹αž…αŸαž‰αž αžΎαž™ αžŠαŸ„αž™αžˆαžšαž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸƒαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž‚αžΊ GCC 10.1 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αŸ”

GCC 9.1 αž‚αžΊαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαŸαžšαž—αžΆαž–αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš C ++17 αžŠαŸ„αž™αž”αž“αŸ’αžαž’αž“αž»αžœαžαŸ’αžαžŸαž˜αžαŸ’αžαž—αžΆαž–αž“αŸƒαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš C ++ 20 αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αž (αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž€αžΌαžŠ C ++ 2a) αž€αžΆαžšαžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ D αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž•αŸ’αž“αŸ‚αž€αžαŸ’αž›αŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OpenMP 5.0 αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαŸ’αž‘αžΎαžšαžαŸ‚αž–αŸαž‰αž›αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OpenACC 2.5 αž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ†αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž’αž“αŸ’αžαžšαž“αžΈαžαž·αžœαž·αž’αžΈ αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž…αž„ αž€αžΆαžšαž–αž„αŸ’αžšαžΈαž€αž§αž”αž€αžšαžŽαŸαžœαž·αž“αž·αž…αŸ’αž†αŸαž™ αž“αž·αž„αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαŸ’αž˜αžΈ αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OpenRISC, C-SKY V2 αž“αž·αž„ AMD GCN GPU αŸ”

αžŸαŸ†αžαžΆαž“αŸ‹ αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš:

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ DαŸ” GCC αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„ GDC (Gnu D Compiler) αž“αž·αž„β€‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™β€‹αž–αŸαž›β€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš (libphobos) αžŠαŸ‚αž›β€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžβ€‹αž±αŸ’αž™β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš GCC αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž€αŸ’αž“αž»αž„β€‹αž—αžΆαžŸαžΆβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ DαŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžβ€‹αž±αŸ’αž™β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž—αžΆαžŸαžΆ D αž€αŸ’αž“αž»αž„ GCC αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αž€αŸ’αž“αž»αž„αž†αŸ’αž“αžΆαŸ† 2011 αž”αŸ‰αž»αž“αŸ’αžαŸ‚ αž’αžΌαžŸαž›αžΎ αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž“αžΆαŸ†αž™αž€αž€αžΌαžŠαž±αŸ’αž™αžŸαŸ’αžšαž”αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžšαž”αžŸαŸ‹ GCC αž“αž·αž„αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž‘αŸαžšαžŸαž·αž‘αŸ’αž’αž·αž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αž”αž‰αŸ’αž‰αžΆαž‘αŸ… Digital Mars αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ D αŸ”
  • αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαž•αŸ’αžŸαŸαž„αŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž–αž„αŸ’αžšαžΈαž€ Switch expressions (αžαžΆαžšαžΆαž„αž›αŸ„αž αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž”αŸŠαžΈαž αž˜αŸ‚αž€αž’αžΆαž„αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αž) αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž˜αž»αžαž„αžΆαžšαž›αžΈαž“αŸαž’αŸŠαŸ‚αžšαžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αž“αŸ’αžŸαŸ„αž˜ Switch αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– β€œ-ftree-switch-conversion” (αž§αž‘αžΆαž αžšαžŽαŸ αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž›αž€αŸ’αžαžαžŽαŸ’αžŒαžŠαžΌαž…αž‡αžΆ β€œcase 2: how = 205; break; case 3: how = 305; break ;" αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αŸ’αž›αŸ‚αž„αž‘αŸ…αž‡αžΆ "100 * αžšαž”αŸ€αž” + 5";
  • αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž’αž“αŸ’αžαžšαž“αžΈαžαž·αžœαž·αž’αžΈαŸ” αž€αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αž€αžΆαžšβ€‹αžŠαžΆαž€αŸ‹β€‹αž–αž„αŸ’αžšαžΆαž™β€‹αž€αŸ’αž“αž»αž„β€‹αž‡αž½αžšβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžŸαž˜αŸ’αžšαž½αž›β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž€αžΌαžŠ C++ αž‘αŸ†αž“αžΎαž” αž“αž·αž„β€‹αž”αžΆαž“β€‹αž–αž„αŸ’αžšαžΈαž€β€‹αž‡αžΆαž˜αž½αž™β€‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšβ€‹αžαŸ’αž˜αžΈ max-inline-insns-small, max-inline-insns-size, uninlined-function-insns, uninlined-function-time, uninlined-thunk-insns αž“αž·αž„ uninlined - αž–αŸαž›αžœαŸαž›αžΆαŸ” αž’αŸ’αžœαžΎαž’αŸ„αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αž·αž„αž—αžΆαž–αžˆαŸ’αž›αžΆαž“αž–αžΆαž“αž“αŸƒαž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž€αžΌαžŠαžαŸ’αžšαž‡αžΆαž€αŸ‹/αž€αŸ’αžαŸ…αŸ” αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αŸ†αž αŸ†αž’αŸ† αž―αž€αžαžΆαž”αž€αž”αŸ’αžšαŸ‚ (αž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž–αŸαž›αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αŸ†);
  • αž™αž“αŸ’αžαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‘αž˜αŸ’αžšαž„αŸ‹αž€αžΌαžŠ (PGO - αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαžαžΆαž˜αž‘αž˜αŸ’αžšαž„αŸ‹αžŽαŸ‚αž“αžΆαŸ†) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαžŠαŸαž›αŸ’αž’αž”αŸ’αžšαžŸαžΎαžšαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαžœαž·αž—αžΆαž‚αž’αŸ†αž–αžΈαž›αž€αŸ’αžαžŽαŸˆαž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠαŸ” αž‡αž˜αŸ’αžšαžΎαžŸαžŸαž„αŸ’αžαŸαž” "-fprofile-αž”αŸ’αžšαžΎαž₯αž‘αžΌαžœαž“αŸαŸ‡αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‘αžΆαŸ†αž„αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– "-fversion-loops-for-strides", "-floop-interchange", "-floop-unroll-and-jam" αž“αž·αž„ "-ftree-loop-distribution" αŸ” αž”αžΆαž“αžŠαž€αž…αŸαž‰αž“αžΌαžœαž€αžΆαžšαžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž’αŸŠαžΈαžŸαŸ’αžαžΌαž€αŸ’αžšαžΆαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αž‰αŸ’αž‡αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš αžŠαŸ‚αž›αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ†αž αŸ†αž“αŸƒαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž‘αž˜αŸ’αžšαž„αŸ‹ (αž’αŸŠαžΈαžŸαŸ’αžαžΌαž€αŸ’αžšαžΆαž˜αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αŸ†αž‘αž»αž„αž–αŸαž›αž—αŸ’αž‡αžΆαž”αŸ‹);
  • αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹ (LTO) αŸ” αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸƒαž”αŸ’αžšαž—αŸαž‘αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž˜αž»αž“αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαž›αž‘αŸ’αž’αž•αž› αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ†αž αŸ†αž“αŸƒαž―αž€αžŸαžΆαžšαžœαžαŸ’αžαž» LTO αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„ αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž…αž„ αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž—αžΆαž–αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž…αŸ†αž“αž½αž“αž“αŸƒαž—αžΆαž‚αžαžΆαžŸ (-param lto-partitions) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΎαž“αž‘αžΎαž„αž–αžΈ 32 αž‘αŸ… 128 αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž’αŸ„αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ†αž“αž½αž“ CPU threads αž…αŸ’αžšαžΎαž“αŸ” αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αŸ†αž“αž½αž“αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–
    "-param lto-max-streaming-parallelism";

    αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„ GCC 8.3 αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž“αŸ…αž€αŸ’αž“αž»αž„ GCC 9 αž’αž“αž»αž‰αŸ’αž‰αžΆαž αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž–αŸαž›αžœαŸαž›αžΆαž…αž„αž€αŸ’αžšαž„αžšαž”αžŸαŸ‹ Firefox 5 αž“αž·αž„ LibreOffice 66 αž”αŸ’αžšαž αŸ‚αž› 6.2.3% αŸ” αž‘αŸ†αž αŸ†αž“αŸƒαž―αž€αžŸαžΆαžšαžœαžαŸ’αžαž»αž”αžΆαž“αžαž™αž…αž»αŸ‡ 7% αŸ” αž–αŸαž›αžœαŸαž›αžΆαž…αž„αž“αŸ…αž›αžΎαžŸαŸŠαžΈαž—αžΈαž™αžΌ 8-core αžαž™αž…αž»αŸ‡ 11% αŸ” αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž“αŸƒαžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžαž—αŸ’αž‡αžΆαž”αŸ‹αž‚αžΊαž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“ 28% αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžαž·αž…αž‡αžΆαž„ 20%αŸ” αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αž“αŸƒαžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αž“αŸƒ LTO αžαž™αž…αž»αŸ‡ 30%;

  • αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ C, C++ αž“αž·αž„ Fortran OpenACC 2.5αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž·αž‘αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎ GPUs αž“αž·αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž―αž€αž‘αŸαžŸαžŠαžΌαž…αž‡αžΆ NVIDIA PTX;
  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž•αŸ’αž“αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ C αž“αž·αž„ C ++ αž’αžΌαž—αžΈαž’αŸαžŸ αŸ₯.០ (Open Multi-Processing) αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹ API αž“αž·αž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ C, C++ αž“αž·αž„ Fortran αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž–αž αž»αžŸαŸ’αž“αžΌαž› αž“αž·αž„αž€αžΌαž“αž€αžΆαžαŸ‹ (CPU + GPU/DSP) αžŠαŸ‚αž›αž˜αžΆαž“αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžšαž½αž˜ αž“αž·αž„αžœαŸ‰αž·αž…αž‘αŸαžš (ស៊ីមឌី) ;
  • αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ CαŸ– "-Waddress-of-packed-αžŸαž˜αžΆαž‡αž·αž€" (αžαž˜αŸ’αž›αŸƒβ€‹αž‘αŸ’αžšαž“αž·αž…β€‹αž˜αž·αž“β€‹αžαž˜αŸ’αžšαžΉαž˜β€‹αž‘αŸ…β€‹αž“αžΉαž„β€‹αžŸαž˜αžΆαž‡αž·αž€β€‹αž“αŸƒβ€‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž¬β€‹αžŸαž αž‡αžΈαž–) αž“αž·αž„
    Β«-Wabsolute-value" (αž“αŸ…αž–αŸαž›αž…αžΌαž›αž”αŸ’αžšαžΎαž˜αž»αžαž„αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αžŽαž“αžΆαžαž˜αŸ’αž›αŸƒαžŠαžΆαž…αŸ‹αžαžΆαž αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαžŸαž˜αžšαž˜αŸ’αž™αž‡αžΆαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ αž§αž‘αžΆαž αžšαžŽαŸ fabs(3.14) αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ abs(3.14)αŸ” αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ C++αŸ– "-Wdeprecated-copy",
    "-Winit-list-lifetime", "-Wredundant-move", "-Wpessimizing-move" αž“αž·αž„ "-Wclass-conversion" αŸ” αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžŠαŸ‚αž›αž˜αžΆαž“αž–αžΈαž˜αž»αž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αŸ”

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž“αŸƒαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž—αžΆαžŸαžΆ C αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αž αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž€αžΌαžŠ C2x αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš C2x αžŸαžΌαž˜αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸ "-std=c2x" αž“αž·αž„ "-std=gnu2x" (αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ GNU)αŸ” αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸ…αžαŸ‚αžŸαŸ’αžαž·αžαž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŠαŸ†αž”αžΌαž„αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹αžœαžΆ αž˜αžΆαž“αžαŸ‚αž€αžΆαžšαž”αž‰αŸ’αž…αŸαž‰αž˜αžαž· _Static_assert αž‡αžΆαž˜αž½αž™αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš (_Static_assert αž‡αžΆαž˜αž½αž™αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αž–αžΈαžšαž‚αžΊαž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ C11);
  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš C ++ 17 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαžαžΆαž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αŸ” αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αž αžŸαž˜αžαŸ’αžαž—αžΆαž–αž—αžΆαžŸαžΆαž“αŸƒ C ++17 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž™αŸ‰αžΆαž„αž–αŸαž‰αž›αŸαž‰ αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„ libstdc++ αž˜αž»αžαž„αžΆαžšαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž€αŸ’αž“αž»αž„αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž‚αžΊαž‡αž·αžαžŠαž›αŸ‹αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž–αŸαž‰αž›αŸαž‰αŸ”
  • αž”αž“αŸ’αž αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αž’αžΆαžαž»αž“αŸƒαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš C++2a αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αž½αžšαž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž“αŸ’αžŸαŸ„αž˜ lambda αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž˜αžΆαž‡αž·αž€αž‘αž‘αŸαž“αŸƒαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαž‘αŸ†αž“αž„αž‡αžΆ/αž˜αž·αž“αž‘αŸ†αž“αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž αŸ…αž˜αž»αžαž„αžΆαžšαž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž“αŸ’αžŸαŸ„αž˜αžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αŸ” αž›αŸ”
    αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš C++2a αžŸαžΌαž˜αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸ "-std=c++2a" αž“αž·αž„ "-std=gnu++2a" αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž―αž€αžŸαžΆαžšαž”αž‹αž˜αž€αžαžΆαž”αŸŠαžΈαž αž“αž·αž„αž€αŸ†αžŽαŸ‚αž‘αŸ… libstdc++ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ C++2a, std::remove_cvref, std::unwrap_reference, std::unwrap_decay_ref, std::is_nothrow_convertible αž“αž·αž„ std::type_identity traits std::midpoint, std::lerps , std::bind_front,
    std::visit, std::is_constant_evaluated αž“αž·αž„ std::assume_aligned αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘ char8_t αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž”αž»αž–αŸ’αžœαž”αž‘ αž“αž·αž„αž”αž…αŸ’αž…αŸαž™αž“αŸƒαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš (starts_with, ends_with);

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš ARM αžαŸ’αž˜αžΈαŸ”
    Cortex-A76, Cortex-A55, Cortex-A76 DynamIQ big.LITTLE αž“αž·αž„ Neoverse N1 αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž“αŸ…αž€αŸ’αž“αž»αž„ Armv8.3-A αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αž€αž»αŸ†αž•αŸ’αž›αž·αž… αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž›αŸαžαž…αŸƒαžŠαž“αŸ’αž™ (rng) αž“αž·αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αžŸαŸ’αž›αžΆαž€αž˜αŸαž˜αŸ‰αžΌαžšαžΈ (memtag) αž€αŸαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž€αžΆαžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžšαžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αŸ‰αžΆαž“αŸ‹αžŸαŸ’αž˜αžΆαž“ αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒαž’αž„αŸ’αž‚αž—αžΆαž–αž–αŸ’αž™αžΆαž€αžšαžŽαŸαžŸαžΆαžαžΆαŸ” . αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ AArch64 αžšαž”αŸ€αž”αž€αžΆαžšαž–αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ αž…αŸ†αž“αž»αž…αž”αŸ’αžšαžŸαž–αŸ’αžœαž“αŸƒαž‡αž„αŸ‹αž“αž·αž„αž αŸŠαžΆ (β€œ-fstack-clash-protection”) αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎαž›αž€αŸ’αžαžŽαŸˆαž“αŸƒαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ Armv8.5-A αž‡αž˜αŸ’αžšαžΎαžŸ β€œ-march=armv8.5-a” αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜

  • αžœαžΆαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ AMD GPUs αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αžΈαž€αŸ’αžšαžΌ GCN αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž…αž„αž€αŸ’αžšαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžαŸ’αžŸαŸ‚αžαŸ‚αž˜αž½αž™ (αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‚αžŽαž“αžΆαž–αž αž»αžαŸ’αžŸαŸ‚αžαžΆαž˜αžšαž™αŸˆ OpenMP αž“αž·αž„ OpenACC αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™) αž“αž·αž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GPU Fiji αž“αž·αž„ Vega 10;
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš OpenRISC;
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš C-SKY V2αž•αž›αž·αžαžŠαŸ„αž™αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž…αž·αž“αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžŠαžΌαž…αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž•αŸ’αžŸαŸαž„αŸ—αŸ”
  • αž‡αž˜αŸ’αžšαžΎαžŸαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαž˜αŸ’αž›αŸƒαž”αŸƒαž‚αžΆαŸ†αž‘αŸ’αžšαž”αž…αŸ’αž…αŸαž™ kb, KiB, MB, MiB, GB αž“αž·αž„ GiB;
  • αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž‡αž˜αŸ’αžšαžΎαžŸ β€œ-flive-patching=[inline-only-static|inline-clone]” αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αžΌαžœαž€αžΆαžšαž…αž„αž€αŸ’αžšαž„αžŠαŸ„αž™αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ†αžŽαŸ‡αž”αž“αŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹ αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αŸ’αžšαžΎαž“αž€αž˜αŸ’αžšαž·αžαž›αžΎαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αŸ’αžαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš (IPAαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–;
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "--completion" αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸαž›αŸ’αž’αž“αŸƒαž€αžΆαžšαž”αŸ†αž–αŸαž‰αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎ bash;
  • αž§αž”αž€αžšαžŽαŸαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž“αŸƒαž€αžΆαžšαžŠαž€αžŸαŸ’αžšαž„αŸ‹αž’αžαŸ’αžαž”αž‘αž”αŸ’αžšαž—αž–αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž›αŸαžαž”αž“αŸ’αž‘αžΆαžαŸ‹ αž“αž·αž„αž€αžΆαžšαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αžŠαŸ„αž™αž˜αžΎαž›αžƒαžΎαž‰ αžŠαžΌαž…αž‡αžΆαž”αŸ’αžšαž—αŸαž‘ operand αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž·αž‘αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž›αŸαžαž”αž“αŸ’αž‘αžΆαžαŸ‹ αž“αž·αž„αžŸαŸ’αž›αžΆαž€ αž‡αž˜αŸ’αžšαžΎαžŸ "-fno-diagnostics-show-line-numbers" αž“αž·αž„ "-fno-diagnostics-show-labels" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αŸ”

    αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžˆαž»αžαž…αž„αž€αŸ’αžšαž„ GCC 9

  • αž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€ αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž€αŸ†αž αž»αžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠ C ++ αž’αŸ’αžœαžΎαž’αŸ„αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž’αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž˜αžΌαž›αž αŸαžαž»αž“αŸƒαž€αŸ†αž αž»αžŸ αž“αž·αž„αž€αžΆαžšαž”αž“αŸ’αž›αž·αž…αž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαŸ‚αž›αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ”

    αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžˆαž»αžαž…αž„αž€αŸ’αžšαž„ GCC 9

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ β€œ-fdiagnostics-format=json” αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αž„αŸ’αž€αžΎαžαž›αž‘αŸ’αž’αž•αž›αžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž’αžΆαž…αž’αžΆαž“αž”αžΆαž“ (JSON);
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸαž‘αž˜αŸ’αžšαž„αŸ‹αžαŸ’αž˜αžΈ β€œ-fprofile-filter-files” αž“αž·αž„ β€œ-fprofile-exclude-files” αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž―αž€αžŸαžΆαžšαž”αŸ’αžšαž—αž–αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”
  • AddressSanitizer αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αž„αŸ’αžšαž½αž˜αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžαŸαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αžŠαŸ‚αž›αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž“αŸƒαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αŸ”
  • αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž‘αž·αž“αŸ’αž“αž•αž›αž“αŸ…αž€αŸ’αž“αž»αž„ "- fopt-infoΒ» (αž–αŸαžαŸŒαž˜αžΆαž“αž›αŸ†αž’αž·αžαž’αŸ†αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αž“αŸ’αžαŸ‚αž˜)αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž”αž»αž–αŸ’αžœαž”αž‘αžαŸ’αž˜αžΈ "αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžš" αž“αž·αž„ "αžαž€αžαžΆαž“" αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž”αž»αž–αŸ’αžœαž”αž‘αžŠαŸ‚αž›αž˜αžΆαž“αž–αžΈαž˜αž»αž“ "αž…αŸ†αžŽαžΆαŸ†" αŸ” αž”αž“αŸ’αžαŸ‚αž˜αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž›αžΎαž€αžΆαžšαž›αžΆαžαžαŸ’αžšαžŠαžΆαž„αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αžΆαžαŸ‹ αž“αž·αž„αžœαž·αž…αžΆαžšαžŽαž€αžαžΆαž“αŸƒαžœαžŠαŸ’αžαŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "-fsave-optimization-record" αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ GCC αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž―αž€αžŸαžΆαžš SRCFILE.opt-record.json.gz αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž›αžΎαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αž˜αžΈαžαž»αžŸαž–αžΈαžšαž”αŸ€αž” β€œ-fopt-info” αžŠαŸ„αž™αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž”αž“αŸ’αžαŸ‚αž˜ αžŠαžΌαž…αž‡αžΆαž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž‘αž˜αŸ’αžšαž„αŸ‹ αž“αž·αž„αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαžΆαž‰αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ β€œ-fipa-stack-alignment” αž“αž·αž„ β€œ-fipa-reference-addressable” αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαžαž˜αŸ’αžšαžΉαž˜αž‡αž„αŸ‹ αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αž˜αŸ’αžšαž„αŸ‹αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ (αžŸαžšαžŸαŸαžšαž”αžΆαž“αžαŸ‚ αž¬αž’αžΆαž“-αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžαŸαžšαž‹αž·αžαž·αžœαž“αŸ’αžαž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž’αž“αŸ’αžαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”
  • αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αž„αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ αž€αŸαžŠαžΌαž…αž‡αžΆαž’αžΆαž€αž”αŸ’αž”αž€αž·αžšαž·αž™αžΆαžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž–αŸ’αž™αžΆαž€αžšαžŽαŸαžŸαžΆαžαžΆ αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž”αŸ‰αžΆαž“αŸ‹αžŸαŸ’αž˜αžΆαž“αŸ– "__builtin_has_attribute","__builtin_expect_with_probability"αž αžΎαž™"__builtin_speculation_safe_value"αŸ” αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžš ធថេរ αž“αž·αž„αž”αŸ’αžšαž—αŸαž‘ αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„;
  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž–αŸαž‰αž›αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›/αž‘αž·αž“αŸ’αž“αž•αž›αž’αžŸαž˜αž€αžΆαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ Fortran αŸ”
  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Solaris 10 (*-*-solaris2.10) αž“αž·αž„ Cell/BE (Cell Broadband Engine SPU) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŠαž·αžŸαŸαž’ αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž…αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ Armv2, Armv3, Armv5 αž“αž·αž„ Armv5E αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αžˆαž”αŸ‹αŸ” αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Intel MPX (αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž–αžΆαžšαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αžˆαž”αŸ‹αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹