GCC 10 āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻŸā§‡āĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ

āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻāĻ• āĻŦāĻ›āĻ° āĻĒāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ¸ā§‡āĻŸ āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻœāĻŋā¤¸āĨ€ā¤¸āĨ€ 10.1, āĻ¨āĻ¤ā§āĻ¨ GCC 10.x āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻĄāĻŧ āĻ°āĻŋāĻ˛āĻŋāĻœāĨ¤ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻ•āĻŋāĻŽ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž, āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 10.0 āĻŦāĻŋāĻ•āĻžāĻļ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ GCC 10.1 āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻ•āĻŋāĻ›ā§āĻ•ā§āĻˇāĻŖ āĻ†āĻ—ā§‡, GCC 11.0 āĻļāĻžāĻ–āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ—āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻžāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ°āĻŋāĻ˛āĻŋāĻœ, GCC 11.1, āĻ—āĻ āĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤

GCC 10.1 C++20 āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ•āĻļāĻŋāĻ¤ C++ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨, āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° C āĻ­āĻžāĻˇāĻžāĻ° āĻŽāĻžāĻ¨ (C2x) āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ, āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻŽā§‹āĻĄ. āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ–āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ SVN āĻĨā§‡āĻ•ā§‡ Git-āĻ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ:

  • ДобавĐģĐĩĐŊ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻŽā§‹āĻĄ "- āĻĢā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻžāĻ‡āĻœāĻžāĻ°", āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻĒāĻžāĻĨ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻŦāĻžāĻšā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻĻ-āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ āĻ†āĻ¨ā§āĻ¤āĻƒāĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—āĻ¤ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻŽā§‹āĻĄāĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻļāĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻ˛āĻžāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢā§āĻ°āĻŋ() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻĄāĻžāĻŦāĻ˛ āĻ•āĻ˛, āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻĢāĻžāĻāĻ¸, āĻĄāĻŋāĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¨āĻžāĻ˛ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž, āĻĢā§āĻ°āĻŋāĻĄ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦā§āĻ˛āĻ• āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž, āĻļā§āĻ°ā§ āĻ¨āĻž āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻ“āĻĒā§‡āĻ¨āĻāĻ¸āĻāĻ¸āĻāĻ˛ āĻ•ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻŦāĻŋāĻĒāĻœā§āĻœāĻ¨āĻ• āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž.
  • āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ†āĻ¨ā§āĻ¤āĻƒāĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—āĻ¤ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨āĨ¤ āĻ†āĻ‡āĻĒāĻŋāĻ-āĻāĻ¸āĻ†āĻ°āĻ (āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°āĻžāĻ˛ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ°āĻŋāĻĒā§āĻ˛ā§‡āĻ¸āĻŽā§‡āĻ¨ā§āĻŸ) āĻĒāĻžāĻ¸āĻŸāĻŋ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄ āĻŸāĻžāĻ‡āĻŽā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻāĻ–āĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ…āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ "-O2" āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻŽā§‹āĻĄā§‡, "-āĻĢāĻžāĻ‡āĻ¨āĻ˛āĻžāĻ‡āĻ¨-āĻĢāĻžāĻ‚āĻļāĻ¨" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ†āĻ°āĻ“ āĻ•āĻŽāĻĒā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•ā§‹āĻĄā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‡āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻŋāĻ‰āĻ°āĻŋāĻ¸ā§āĻŸāĻŋāĻ• āĻāĻ° āĻ•āĻžāĻœ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‡āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•ā§āĻ˛ā§‹āĻ¨āĻŋāĻ‚ āĻšāĻŋāĻ‰āĻ°āĻŋāĻ¸ā§āĻŸāĻŋāĻ•āĻ¸ āĻāĻ–āĻ¨ āĻĒā§ƒāĻĨāĻ• āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻĻā§āĻŦāĻžāĻŖā§€ āĻ•āĻ°āĻ¤ā§‡ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ C++ āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻŸāĻžāĻ‡āĻĒ-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ‰āĻĒāĻ¨āĻžāĻŽ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛āĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ˛āĻŋāĻ™ā§āĻ•āĻŋāĻ‚ āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ (LTO)āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ lto-āĻĄāĻžāĻŽā§āĻĒ LTO āĻŦāĻžāĻ‡āĻŸāĻ•ā§‹āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻāĻ˛āĻŸāĻŋāĻ“ āĻĒāĻžāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻ¯ā§‹āĻ—ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻŽā§‡āĻ• āĻŸāĻžāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻ•āĻ°āĻŖ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ CPU āĻ•ā§‹āĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ zstd āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ LTO āĻŦāĻžāĻ‡āĻŸāĻ•ā§‹āĻĄ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ•ā§‹āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻŋāĻ‚ (PGO - āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛-āĻ—āĻžāĻ‡āĻĄā§‡āĻĄ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨) āĻāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§āĻ•ā§‚āĻ˛ āĻ•ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻāĻŦāĻ‚ āĻ—āĻ°āĻŽ/āĻ āĻžāĻ¨ā§āĻĄāĻž āĻ•ā§‹āĻĄ āĻĒā§ƒāĻĨāĻ•ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖāĨ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ "-āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛-āĻŽāĻžāĻ¨Âģ āĻāĻ–āĻ¨ 4āĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤
  • C, C++ āĻāĻŦāĻ‚ Fortran āĻ­āĻžāĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ OpenACC 2.6, āĻ¯āĻž GPU āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§‡āĻˇāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ¯ā§‡āĻŽāĻ¨ NVIDIA PTX-āĻ āĻ…āĻĢāĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ā§ˇ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ“āĻĒā§‡āĻ¨āĻāĻŽāĻĒāĻŋ 5.0 (āĻ“āĻĒā§‡āĻ¨ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚), āĻ¯āĻž āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ­ā§‡āĻ•ā§āĻŸāĻ°āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ (SIMD) āĻ¸āĻš āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻ•ā§‹āĻ° āĻāĻŦāĻ‚ āĻšāĻžāĻ‡āĻŦā§āĻ°āĻŋāĻĄ (CPU+GPU/DSP) āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° API āĻāĻŦāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻļāĻ°ā§āĻ¤āĻžāĻŦāĻ˛ā§€, āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ˛ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž, āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻāĻŦāĻ‚ use_device_addr āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ OpenMP āĻāĻŦāĻ‚ OpenACC-āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻšāĻ¤ā§āĻ°ā§āĻĨ-āĻĒā§āĻ°āĻœāĻ¨ā§āĻŽ (āĻĢāĻŋāĻœāĻŋ) āĻāĻŦāĻ‚ āĻĒāĻžā§āĻšāĻŽ-āĻĒā§āĻ°āĻœāĻ¨ā§āĻŽā§‡āĻ° AMD Radeon (GCN) GPUs (VEGA 10/VEGA 20) āĻ¤ā§‡ āĻ…āĻĢāĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • C āĻĒāĻ°āĻŋāĻŦāĻžāĻ°ā§‡āĻ° āĻ­āĻžāĻˇāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŦāĻž āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ†āĻ•āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ "āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸" āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ "āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸" āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ­ā§āĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ "āĻŸāĻžāĻ‡āĻĒ" āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻ–āĻ¨ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ˛āĻžāĻ•āĻžāĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻš āĻāĻ•āĻŸāĻŋ ELF āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻšāĻŋāĻšā§āĻ¨ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "symver" āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋāĻ“ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:
    • "-Wstring-āĻ¤ā§āĻ˛āĻ¨āĻž" ("-Wextra" āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ) - āĻāĻŽāĻ¨ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻļā§‚āĻ¨ā§āĻ¯āĻ•ā§‡ strcmp āĻāĻŦāĻ‚ strncmp āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ•ā§‡āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻ•āĻžāĻ°āĻŖ āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦāĻĄāĻŧāĨ¤
    • "-Wzero-length-bounds" ("-Warray-bounds" āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ) - āĻļā§‚āĻ¨ā§āĻ¯ āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
    • “-āĻ“āĻ¯āĻŧāĻžāĻ°ā§‡-āĻŦāĻžāĻ‰āĻ¨ā§āĻĄāĻ¸â€, “-Wformat-āĻ“āĻ­āĻžāĻ°āĻĢā§āĻ˛ā§‹â€, “-Wrestrict”, “-Wreturn-local-addr” āĻāĻŦāĻ‚ “-Wstringop-overflow” āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸ā§€āĻŽāĻžāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛ā§‹ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
  • UCN āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋ (\uNNNN āĻŦāĻž \UNNNNNNNN) āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻ¨āĻ•ā§‹āĻĄāĻŋāĻ‚ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ UTF-8) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻļāĻ¸ā§āĻ¤ āĻ…āĻ•ā§āĻˇāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

    āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• const int Ī€ = 3;
    int get_naïve_pi() {
    āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ Ī€;
    }

  • āĻ¸āĻŋ āĻ­āĻžāĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯, C2X āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (-std=c2x āĻāĻŦāĻ‚ -std=gnu2x āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡): āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "[[]]" āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ C++ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, [[gnu ::const]], [[āĻ…āĻĒā§āĻ°āĻšāĻ˛āĻŋāĻ¤]], [[fallthrough]] āĻāĻŦāĻ‚ [[maybe_unused]]āĨ¤ UTF-8 āĻ…āĻ•ā§āĻˇāĻ° āĻ¸āĻš āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "u8" āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
    āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ . strftime-āĻ "%OB" āĻāĻŦāĻ‚ "%Ob" āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

  • C-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽā§‹āĻĄ āĻšāĻ˛ "-fno-common", āĻ¯āĻž āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ†āĻ°āĻ“ āĻĻāĻ•ā§āĻˇ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • C++ āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻžāĻ¯āĻŧ 16āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻŦāĻ‚ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž C++20 āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡ āĻŦāĻŋāĻ•āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ "constinit" āĻ¸āĻš
    āĻāĻŦāĻ‚ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ "āĻ§āĻžāĻ°āĻŖāĻž" āĻ§āĻžāĻ°āĻŖāĻžāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŽāĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸ā§‡āĻŸāĻ•ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§‡āĨ¤ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻĄā§‡āĻŸāĻž āĻŸāĻžāĻ‡āĻĒ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻ…āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ§āĻžāĻ°āĻŖāĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

  • G++ āĻ•āĻ¨āĻ¸ā§āĻŸā§‡āĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻŦāĻ¸ā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĢāĻ˛ā§‡ āĻ¸ā§ƒāĻˇā§āĻŸ āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖā§‡āĻ° āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ constexpr āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻ–āĻ°āĻš āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ "-Wmismatched-tags" āĻāĻŦāĻ‚ "-Wredundant-tags"āĨ¤
  • āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:
    • "-fallocation-dce" āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻœā§‹āĻĄāĻŧāĻž "āĻ¨āĻ¤ā§āĻ¨" āĻāĻŦāĻ‚ "āĻŽā§āĻ›ā§āĻ¨" āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡āĨ¤
    • "-fprofile-partial-training" āĻ•ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ‡āĻœ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻ¯ā§‡āĻŸāĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻļāĻŋāĻ•ā§āĻˇāĻŖ āĻ¨ā§‡āĻ‡āĨ¤
    • "-āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛-āĻĒā§āĻ°āĻœāĻ¨āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻœāĻ¨āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻžāĻ° āĻ¸ā§āĻ¤āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡āĨ¤
    • "-fprofile-prefix-path" āĻĒā§ƒāĻĨāĻ• āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻŦā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ ("-fprofile-generate=profile_dir" āĻāĻŦāĻ‚ "-fprofile-use=profile_dir" āĻāĻ° āĻœāĻ¨ā§āĻ¯)āĨ¤
  • āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ¤āĻ°ā§āĻ•ā§€āĻ•āĻ°āĻŖ āĻĒāĻžāĻ ā§āĻ¯ā§‡, āĻšāĻžāĻ‡āĻĒāĻžāĻ°āĻ˛āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ URL āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ "-fdiagnostics-urls" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
  • āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ "__has_builtin", āĻ¯āĻž āĻŦāĻŋāĻ˛ā§āĻŸ-āĻ‡āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  • ISO/IEC TS 18661 āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ°āĻžāĻ‰āĻ¨ā§āĻĄāĻŋāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻ˛ā§āĻŸ-āĻ‡āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ "__builtin_roundeven" āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž "āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ" āĻāĻ° āĻŽāĻ¤ā§‹, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ°āĻžāĻ‰āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ…āĻ‚āĻļ 0.5 āĻāĻ° āĻŦā§‡āĻļāĻŋ (āĻŦāĻĄāĻŧ āĻŽāĻžāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤), 0.5 āĻāĻ° āĻ•āĻŽ - āĻ¨āĻŋāĻšā§‡ (āĻļā§‚āĻ¨ā§āĻ¯ āĻĨā§‡āĻ•ā§‡), āĻāĻŦāĻ‚ 0.5 āĻāĻ° āĻ¸āĻŽāĻžāĻ¨ - āĻ‰āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ…āĻ™ā§āĻ•ā§‡āĻ° āĻ¸āĻŽāĻ¤āĻž āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤
  • AArch64 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, SVE2 āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ SVE (āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĻŦāĻ˛ āĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨) āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ SVE ACLE āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻŦāĻ‚ āĻ­ā§‡āĻ•ā§āĻŸāĻ°āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ LSE (āĻŦāĻĄāĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨) āĻāĻŦāĻ‚ TME (āĻŸā§āĻ°āĻžāĻ¨āĻœā§āĻ¯āĻžāĻ•āĻļāĻ¨āĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨) āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ Armv8.5-A āĻāĻŦāĻ‚ Armv8.6-A āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¤ā§ˆāĻ°āĻŋ, āĻ°āĻžāĻ‰āĻ¨ā§āĻĄāĻŋāĻ‚, āĻŽā§‡āĻŽāĻ°āĻŋ āĻŸā§āĻ¯āĻžāĻ— āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡,
    bfloat16 āĻāĻŦāĻ‚ āĻŽā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻ—ā§āĻŖāĨ¤ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-A77,
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-A76AE,
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-A65,
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-A65AE,
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-A34 āĻāĻŦāĻ‚
    Marvell ThunderX3.

  • ARM32 āĻāĻ° āĻœāĻ¨ā§āĻ¯ ABI FDPIC (64-āĻŦāĻŋāĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°) āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ 64-āĻŦāĻŋāĻŸ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻāĻŦāĻ‚ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖāĨ¤ CPU āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-A77,
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-A76AE āĻāĻŦāĻ‚
    āĻ†āĻ°ā§āĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸-M35PāĨ¤ ACLE āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨, 32-āĻŦāĻŋāĻŸ SIMD, 16-āĻŦāĻŋāĻŸ āĻ—ā§āĻŖāĻ¨, āĻ˛ā§āĻ¯āĻžāĻš āĻ—āĻžāĻŖāĻŋāĻ¤āĻŋāĻ•, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ DSP āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻ¸āĻšāĨ¤ ACLE CDE (āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻĄā§‡āĻŸāĻžāĻĒāĻĨ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨) āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

  • GCN āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ AMD GPU-āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ­ā§‡āĻ•ā§āĻŸāĻ°āĻžāĻ‡āĻœā§‡āĻļāĻ¨āĨ¤
  • AVR āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ XMEGA-āĻāĻ° āĻŽāĻ¤ā§‹ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    ATtiny202, ATtiny204, ATtiny402, ATtiny404, ATtiny406, ATtiny804, ATtiny806, ATtiny807, ATtiny1604, ATtiny1606, ATtiny1607, ATmega808, ATmega809,ATmega1608 1609, ATmega3208, ATmega3209 4808, ATmega4809 āĻāĻŦāĻ‚ ATmegaXNUMXāĨ¤

  • IA-32/x86-64 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ Intel ENQCMD āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ¨āĻž āĻ¸ā§‡āĻŸ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ (-menqcmd) āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ Intel Cooperlake (-march=cooperlake, AVX512BF16 ISA āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤) āĻāĻŦāĻ‚ Tigerlake (-march=tigerlake, MOVDIRI, MOVDIR64B āĻāĻŦāĻ‚ AVX512VP2INTERSECT ISA āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤) CPU-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • HSA āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨āĻ§āĻ°ā§āĻŽā§€ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ HSAIL (Heterogeneous System Architecture Intermediate Language) āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ…āĻŦāĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļā§‡ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨