рдЬреАрд╕реАрд╕реА 12 рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реБрдЗрдЯ рдХрд╛ рд╡рд┐рдореЛрдЪрди

рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, рдореБрдлрд╝реНрдд рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реБрдЗрдЯ GCC 12.1 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдирдИ GCC 12.x рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд╣рд▓реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬрд╝ рд╣реИред рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдирдВрдмрд░рд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рдВрд╕реНрдХрд░рдг 12.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЬреАрд╕реАрд╕реА 12.1 рдХреА рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдЬреАрд╕реАрд╕реА 13.0 рд╢рд╛рдЦрд╛ рдкрд╣рд▓реЗ рд╣реА рдмрдВрдж рд╣реЛ рдЪреБрдХреА рдереА, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдЧрд▓реА рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬрд╝, рдЬреАрд╕реАрд╕реА 13.1, рд╣реЛрдЧреА рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ред 23 рдордИ рдХреЛ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреАрд╕реАрд╕реА рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЧрдарди рдХреЗ 35 рд╡рд░реНрд╖ рдкреВрд░реЗ рд╣реЛрдиреЗ рдХрд╛ рдЬрд╢реНрди рдордирд╛рдПрдЧреАред

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди:

  • рд╕реАрдЯреАрдПрдл (рдХреЙрдореНрдкреИрдХреНрдЯ рдЯрд╛рдЗрдк рдлреЙрд░реНрдореЗрдЯ) рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬреЛ рд╕реА рдкреНрд░рдХрд╛рд░реЛрдВ, рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдХреЙрдореНрдкреИрдХреНрдЯ рднрдВрдбрд╛рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬрдм рдИрдПрд▓рдПрдл рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рд╛рд░реВрдк рдбреЗрдЯрд╛ рджреЛрд╣рд░рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдИрдПрдлрдПрд▓ рд╡рд░реНрдг рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • 1980 рдХреЗ рджрд╢рдХ рдореЗрдВ рдмрдирд╛рдП рдЧрдП "STABS" рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реВрдЪрдирд╛ рднрдВрдбрд╛рд░рдг рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • C рдФрд░ C++ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдХреЗ C2X рдФрд░ C++23 рдорд╛рдирдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдЬрд╛рд░реА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдпрджрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ; рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХреЛрдВ рдореЗрдВ рдСрдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ ("f(auto(g()))"); рдХреЙрдиреНрд╕реНрдЯреЗрдХреНрд╕рдкреАрдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЧреИрд░-рд╢рд╛рдмреНрджрд┐рдХ рдЪрд░, рдЧреЛрдЯреЛ рдФрд░ рд▓реЗрдмрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ; рдмрд╣реБрдЖрдпрд╛рдореА рд╕реВрдЪрдХрд╛рдВрдХ рдСрдкрд░реЗрдЯрд░ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдерди[]; рдпрджрд┐, рдХреЗ рд▓рд┐рдП рдФрд░ рд╕реНрд╡рд┐рдЪ рдореЗрдВ, рдЖрд░рдВрднреАрдХрд░рдг рдмреНрд▓реЙрдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ("for (T = int; T e : v) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ")ред
  • C++ рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдиреЗ C++20 рдФрд░ C++23 рдорд╛рдирдХреЛрдВ рдХреЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред std::move_only_function рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, , std::basic_string::resize_and_overwrite, , рдФрд░ std::invoke_r. constexpr рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ std::unique_ptr, std::vector, std::basic_string, std:: option рдФрд░ std::variant рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред
  • рдлреЛрд░рдЯреНрд░рд╛рди рдлреНрд░рдВрдЯрдПрдВрдб рдЯреАрдПрд╕ 29113 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдлреЛрд░рдЯреНрд░рд╛рди рдФрд░ рд╕реА рдХреЛрдб рдХреЗ рдмреАрдЪ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
  • __рдмрд┐рд▓реНрдЯрд┐рди_рд╢рдлрд╝рд▓рд╡реЗрдХреНрдЯрд░ (vec1, vec2, рдЗрдВрдбреЗрдХреНрд╕ 1, рдЗрдВрдбреЗрдХреНрд╕ 2, ...) рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдкрд╣рд▓реЗ рдХреНрд▓реИрдВрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд╡реЗрдХреНрдЯрд░ рд╢рдлрд╝рд▓ рдФрд░ рд╢рдлрд╝рд▓ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдХреЙрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
  • "-O2" рдЕрдиреБрдХреВрд▓рди рд╕реНрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╡реИрд╢реНрд╡реАрдХрд░рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ (-ftree-vectorize рдФрд░ -fvect-cost-model= Very-cheap рдореЛрдб рд╕рдХреНрд╖рдо рд╣реЛрддреЗ рд╣реИрдВ)ред рдмрд╣реБрдд рд╕рд╕реНрддрд╛ рдореЙрдбрд▓ рд╡реЗрдХреНрдЯрд░реАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рдХреЗрд╡рд▓ рддрднреА рджреЗрддрд╛ рд╣реИ рдЬрдм рд╡реЗрдХреНрдЯрд░ рдХреЛрдб рд╡реЗрдХреНрдЯрд░рдХреГрдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╕реНрдХреЗрд▓рд░ рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
  • рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рдЕрдкреНрд░рд╛рд░рдВрднреАрдХреГрдд рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬреБрдбрд╝реА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдкрд░ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рд╕реНрдкрд╖реНрдЯ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "-ftrivial-auto-var-init" рдореЛрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рд╕реА рдФрд░ рд╕реА++ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рдВрдХреНрд╢рди __рдмрд┐рд▓реНрдЯрд┐рди_рдбрд╛рдпрдирд╛рдорд┐рдХ_рдСрдмреНрдЬреЗрдХреНрдЯ_рд╕рд╛рдЗрдЬрд╝ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓реИрдВрдЧ рдХреЗ рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред
  • C рдФрд░ C++ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, "рдЕрдиреБрдкрд▓рдмреНрдз" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдпрджрд┐ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧреА)ред
  • C рдФрд░ C++ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдирд┐рд░реНрджреЗрд╢реЛрдВ "#elifdef" рдФрд░ "#elifndef" рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
  • рдпрджрд┐ UTF-8 рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЧрд▓рдд рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "-Wbidi-chars" рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рджреНрд╡рд┐рджрд┐рд╢ рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
  • рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рдСрдкрд░реЗрдВрдб рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "-рд╡реЙрд░реЗ-рддреБрд▓рдирд╛" рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рдУрдкрдирдПрдордкреА 5.0 рдФрд░ 5.1 (рдУрдкрди рдорд▓реНрдЯреА-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ) рдорд╛рдирдХреЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдЬреЛ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдФрд░ рд╡реЗрдХреНрдЯрд░рд╛рдЗрдЬреЗрд╢рди рдЗрдХрд╛рдЗрдпреЛрдВ (рдПрд╕рдЖрдИрдПрдордбреА) рдХреЗ рд╕рд╛рде рдорд▓реНрдЯреА-рдХреЛрд░ рдФрд░ рд╣рд╛рдЗрдмреНрд░рд┐рдб (рд╕реАрдкреАрдпреВ+рдЬреАрдкреАрдпреВ/рдбреАрдПрд╕рдкреА) рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдФрд░ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред , рдЬрд╛рд░реА рд░рдЦрд╛ рд╣реИ.
  • рдУрдкрдирдПрд╕реАрд╕реА 2.6 рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдЬреЛ рдЬреАрдкреАрдпреВ рдФрд░ рдПрдирд╡реАрдЖрдИрдбреАрдЖрдИрдП рдкреАрдЯреАрдПрдХреНрд╕ рдЬреИрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдСрдлрд▓реЛрдбрд┐рдВрдЧ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
  • рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдирд┐рд░реНрджреЗрд╢реЛрдВ Intel AVX86-FP512 рдФрд░ _Float16 рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди x16 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬрдирд░реЗрд╢рди рдмреИрдХрдПрдВрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
  • x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП, рдмрд┐рдирд╛ рд╢рд░реНрдд рдлреЙрд░рд╡рд░реНрдб рдЬрдВрдк рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рдЯреНрдЯрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдХрд╛рд░рдг рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рд╢рд╛рдЦрд╛ рдирд┐рд░реНрджреЗрд╢ (рдПрд╕рдПрд▓рдПрд╕, рд╕реНрдЯреНрд░реЗрдЯ рд▓рд╛рдЗрди рд╕реНрдкреЗрдХреБрд▓реЗрд╢рди) рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдкреВрд░реНрд╡-рдЦрд╛рд▓реА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИред рд╕реБрд░рдХреНрд╖рд╛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "-mharden-sls" рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИред
  • рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдореЗрдВ рдЕрдкреНрд░рд╛рд░рдВрднреАрдХреГрдд рдЪрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЗрдирд▓рд╛рдЗрди рдЖрд╡реЗрд╖рдг рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдмреЗрд╣рддрд░ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ. рд╕реНрд╡рд┐рдЪ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
  • рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдПрдХ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдФрд░ рдорд╢реАрди рдХреЛрдб рдореЗрдВ JIT рдХрдВрдкрд╛рдЗрд▓ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, libgccgit рдореЗрдВ 30 рдирдИ рдХреЙрд▓реЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВред
  • рдмреАрдкреАрдПрдл рдмрд╛рдЗрдЯрдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдореЗрдВ рд╕реАрдУ-рдЖрд░рдИ (рдПрдХ рдмрд╛рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ - рд╣рд░ рдЬрдЧрд╣ рдЪрд▓рд╛рдПрдВ) рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдИрдмреАрдкреАрдПрдл рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИ рд╡рд░реНрддрдорд╛рди рдХрд░реНрдиреЗрд▓ рдФрд░ рдмреАрдкреАрдПрдл рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо)ред CO-RE рд╕рдВрдХрд▓рд┐рдд eBPF рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рдХрд░реНрдиреЗрд▓ рдХреЗ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓рддреА рд░рд╣рддреА рд╣реИред
  • рдЖрд░рдЖрдИрдПрд╕рд╕реА-рд╡реА рдмреИрдХрдПрдВрдб рдирдП рдирд┐рд░реНрджреЗрд╢ рд╕реЗрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЗрдбрдмреАрдП, рдЬреЗрдбрдмреАрдмреА, рдЬреЗрдбрдмреАрд╕реА рдФрд░ рдЬреЗрдбрдмреАрдПрд╕ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╡реЗрдХреНрдЯрд░ рдФрд░ рд╕реНрдХреЗрд▓рд░ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрдИрдПрд╕рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, RISC-V ISA 20191213 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред T-HEAD c906 рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -mtune=thead-c906 рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
  • GCN рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд AMD GPU рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬрдирд░реЗрд╢рди рдмреИрдХрдПрдВрдб рдореЗрдВ __int128_t/integer(kind=16) рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддрд┐ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдпреВрдирд┐рдЯ (рд╕реАрдпреВ) рдореЗрдВ 40 рдХрд╛рд░реНрдп рд╕рдореВрд╣реЛрдВ рддрдХ рдФрд░ рдкреНрд░рддрд┐ рд╕рдореВрд╣ 16 рдЕрдиреБрджреЗрд╢ рдореЛрд░реНрдЪреЛрдВ (рд╡реЗрд╡рдлреНрд░рдВрдЯ, SIMD рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдкрд╣рд▓реЗ, рдкреНрд░рддрд┐ рд╕реАрдпреВ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдХрд┐рдирд╛рд░реЗ рдХреА рдЕрдиреБрдорддрд┐ рдереАред
  • NVPTX рдмреИрдХрдПрдВрдб, рдЬрд┐рд╕реЗ NVIDIA PTX (рд╕рдорд╛рдирд╛рдВрддрд░ рдереНрд░реЗрдб рдирд┐рд╖реНрдкрд╛рджрди) рдирд┐рд░реНрджреЗрд╢ рд╕реЗрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдиреЗ "-рдорд╛рд░реНрдЪ", "-mptx" рдФрд░ "-рдорд╛рд░реНрдЪ-рдореИрдк" рдЭрдВрдбреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рд╣реИред PTX ISA sm_53, sm_70, sm_75 рдФрд░ sm_80 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ sm_30 рд╣реИред
  • PowerPC / PowerPC64 / RS6000 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмреИрдХрдПрдВрдб рдореЗрдВ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рдВрдХреНрд╢рдВрд╕ __рдмрд┐рд▓реНрдЯрд┐рди_рдЧреЗрдЯ_рдЯреЗрдХреНрд╕рд╛рд╕рдЖрд░, __рдмрд┐рд▓реНрдЯрд┐рди_рдЧреЗрдЯ_рдЯреЗрдХреНрд╕рд╛рд╕рд░реВ, __рдмрд┐рд▓реНрдЯрд┐рди_рдЧреЗрдЯ_tfhar, __рдмрд┐рд▓реНрдЯрд┐рди_рдЧреЗрдЯ_tfiar, __рдмрд┐рд▓реНрдЯрд┐рди_рд╕реЗрдЯ_рдЯреЗрдХреНрд╕рд╛рд╕рд░, __рдмрд┐рд▓реНрдЯрд┐рди_рд╕реЗрдЯ_рдЯреЗрдХреНрд╕рд╛рд╕рд░реВ, __рдмрд┐рд▓реНрдЯрд┐рди_рд╕реЗрдЯ_tfhar рдФрд░ __рдмрд┐рд▓реНрдЯрд┐рди_рд╕реЗрдЯ_tfiar рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВред
  • рдЖрд░реНрдо рдПрдореНрдкреАрдпрд░-64 (-mcpu/-mtune рдПрдореНрдкреАрдпрд░1), рдЖрд░реНрдо рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП1 (рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП510), рдЖрд░реНрдо рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП510 (рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП710) рдФрд░ рдЖрд░реНрдо рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдХреНрд╕710 (рдХреЙрд░реНрдЯреЗрдХреНрд╕-x2) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред "-рдорд╛рд░реНрдЪ" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдирдП ARMv2 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛: Armv8-a, Armv8.7-a, Armv8.8-aред рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдПрдЖрд░рдПрдо рдирд┐рд░реНрджреЗрд╢реЛрдВ (рдПрд▓рдПрд╕9) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкрд░рдорд╛рдгреБ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ (рдЗрдВрдЯреНрд░рд┐рдирд┐рдХреНрд╕) рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╕реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдореЙрдкреНрд╕реЙрдкреНрд╢рди рдПрдЖрд░рдПрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдорд╕реАрдкреАрдИ, рдореЗрдордореВрд╡ рдФрд░ рдореЗрдорд╕реЗрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рдПрдХ рдирдпрд╛ рдЪреЗрдХрд┐рдВрдЧ рдореЛрдб "-fsanitize=shadow-call-stack" (ShadowCallStack) рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ AArch64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ "-ffixed-r18" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдХреЛрдб рдмрдирд╛рддреЗ рд╕рдордп рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдореЛрдб рд╕реНрдЯреИрдХ рдкрд░ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рд╕рд╛рд░ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкрддреЗ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░рд┐рдЯрд░реНрди рдкрддреЗ рдХреЛ рдПрдХ рдЕрд▓рдЧ "рдЫрд╛рдпрд╛" рд╕реНрдЯреИрдХ рдореЗрдВ рд╕рд╣реЗрдЬрдирд╛ рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ