Announcement

Collapse
No announcement yet.

GCC 14.1 Compiler Released - Intel APX & AVX10.1 Support, AMD Zen 5 Target & -fhardened

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GCC 14.1 Compiler Released - Intel APX & AVX10.1 Support, AMD Zen 5 Target & -fhardened

    Phoronix: GCC 14.1 Compiler Released - Intel APX & AVX10.1 Support, AMD Zen 5 Target & -fhardened

    GCC 14.1 has been released today as the first stable compiler release in the GCC 14 series. GCC 14.1 brings one year worth of improvements to this open-source compiler from new CPU support and new ISA extensions to new C/C++ language features, static analyzer improvements, new AMD GPU support, and many other additions...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    There's no Zen 5 specific compiler code yet. That "enablement" was copying Zen 4 headers and renaming them to Zen 5.

    Comment


    • #3
      The Windows port of GCC14 also added win32thread model std::thread support and codeview/pdb support, but it still doesn't do much good, AVX512 still doesn't work and everyone is using clang and msvc.

      Comment


      • #4
        Originally posted by avis View Post
        There's no Zen 5 specific compiler code yet. That "enablement" was copying Zen 4 headers and renaming them to Zen 5.
        does the fact that they exist allow to them release some real zen5 tuning in 14.2?
        i.e. have they got the zen5 headers in place to make sure that real zen5 tuning isn't pushed out to the GCC release timeline...?

        Comment


        • #5
          Originally posted by Jedibeeftrix View Post

          does the fact that they exist allow to them release some real zen5 tuning in 14.2?
          i.e. have they got the zen5 headers in place to make sure that real zen5 tuning isn't pushed out to the GCC release timeline...?
          I'm not familiar with how precisely GCC is being developed, I mean I know they have yearly releases and major new features can be only added to point zero releases, but I've no idea if the actual Zen 5 enablement is a "major new feature" or not.

          I'm looking at previous point 2/3/4 releases and it feels like Zen 5 may get actual support only in 14.3 or 14.4, certainly not in 14.2.

          Comment


          • #6
            We have a GCC developer among our ranks BTW,

            hubicka Jan, is it possible we'll get actual Zen 5 support in GCC 14.x?

            Comment


            • #7
              Originally posted by Jedibeeftrix View Post

              does the fact that they exist allow to them release some real zen5 tuning in 14.2?
              i.e. have they got the zen5 headers in place to make sure that real zen5 tuning isn't pushed out to the GCC release timeline...?
              I think it just means it allows zen5 to work with the closest approximation tunings available sooner, and the prep work makes the actual timings easier/quicker to push in the future.

              Comment


              • #8
                Originally posted by avis View Post
                We have a GCC developer among our ranks BTW,

                hubicka Jan, is it possible we'll get actual Zen 5 support in GCC 14.x?
                The current Zen5 support is not a smiple copy of Zen4. It has new scheduler model for Zen5, specifies supported ISA and other stuff. Instruction costs and other things needs to be fie-tuned on real hardware and will be backported to release branches (so probably to GCC 14.2).

                Comment


                • #9
                  Originally posted by hubicka View Post

                  The current Zen5 support is not a smiple copy of Zen4. It has new scheduler model for Zen5, specifies supported ISA and other stuff. Instruction costs and other things needs to be fie-tuned on real hardware and will be backported to release branches (so probably to GCC 14.2).
                  Amazing, thanks!

                  Comment


                  • #10
                    GCC 14 will refuse to compile a lot of old code:

                    What changed?

                    All of these were either invalid in C99, invalid even in C89, or extremely dubious. Compilers just tolerated them as quasi-extensions until now to avoid disruption.
                    • Clang 15 makes the following errors by default:
                      • -Werror=int-conversion
                    • Clang 16 (released March 2023) makes the following errors by default:
                      • -Werror=implicit-function-declaration
                      • -Werror=implicit-int
                      • -Werror=incompatible-function-pointer-types (GCC does not have a specific equivalent error (PR109835), use -Werror=incompatible-pointer-types instead when testing)
                    • GCC 14 (to be released appx. April/May 2024) makes the following errors by default:
                      • -Werror=int-conversion
                      • -Werror=implicit-function-declaration
                      • -Werror=implicit-int
                      • -Werror=incompatible-pointer-types
                      • -Werror=return-mismatch ('new' warning in GCC 14, split out from -Wreturn-type)
                      • -Werror=declaration-missing-parameter-type (new warning in GCC 14)

                    Comment

                    Working...
                    X