Announcement

Collapse
No announcement yet.

GCC 13.3 Compiler Released With Tons Of Bug Fixes

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

  • GCC 13.3 Compiler Released With Tons Of Bug Fixes

    Phoronix: GCC 13.3 Compiler Released With Tons Of Bug Fixes

    While GCC 14 recently debuted as stable in the form of GCC 14.1, for those relying on the GCC 13 compiler that debuted last year there is now a new point release available with many bug fixes...

    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
    Here is a question I've always wondered but never known the answer to. The article says if you want Zen 5 support you need to upgrade to GCC 14.1, but what would happen if I did mach=native on a Zen 5 system without knowledge of what Zen 5 is like on GCC 13.x? Isn't the individual targets just a collection of options? So couldn't you build a Zen 5 target on an old compiler without the support by piecing together options?

    Comment


    • #3
      Originally posted by kylew77 View Post
      The article says if you want Zen 5 support you need to upgrade to GCC 14.1, but what would happen if I did mach=native on a Zen 5 system without knowledge of what Zen 5 is like on GCC 13.x?
      Yeah, good question. If it doesn't know the particular family + model combination of CPUID values, I wonder if it somehow falls back to Zen 4, if it just uses x86-64 generic, or perhaps it picks the highest x86-64 feature level or even enables individual ISA options based on CPUID bits?

      Originally posted by kylew77 View Post
      Isn't the individual targets just a collection of options? So couldn't you build a Zen 5 target on an old compiler without the support by piecing together options?
      Not only. The -mtune option uses cost tables that are customized to specific CPU microarchitectures. No matter which features get enabled, that's something that -march=native will never get right, on a CPU it doesn't know.

      Comment


      • #4
        Originally posted by coder View Post
        Not only. The -mtune option uses cost tables that are customized to specific CPU microarchitectures. No matter which features get enabled, that's something that -march=native will never get right, on a CPU it doesn't know.
        Thanks coder for explaining it to me, appreciate it.

        Comment


        • #5
          Originally posted by kylew77 View Post
          Thanks coder for explaining it to me, appreciate it.
          You're quite welcome, though I think I probably didn't clear up anything other than clue you into the existence of instruction cost tables.

          I'd still love if someone could shed more light on this. If I learn anything more, I'll post what I find. However, I'm not super invested in the matter, because I tend not to be using bleeding edge CPUs and rarely bother compiling -march=native.

          Perhaps it wouldn't be too hard to infer what the compiler is doing via experimentation. You just have to pick up an older build of GCC that doesn't know about your specific CPU model, and then compare -march=native with other -march and -mtune combinations. I wonder if one can simply compare the generated assembly language and keep fiddling until you get the same output.

          Comment


          • #6
            Originally posted by kylew77 View Post
            Here is a question I've always wondered but never known the answer to. The article says if you want Zen 5 support you need to upgrade to GCC 14.1, but what would happen if I did mach=native on a Zen 5 system without knowledge of what Zen 5 is like on GCC 13.x? Isn't the individual targets just a collection of options? So couldn't you build a Zen 5 target on an old compiler without the support by piecing together options?
            In the znver5 case, GCC 13 will detect it as znver4 instead.

            Comment

            Working...
            X