https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100461

            Bug ID: 100461
           Summary: [11/12 Regression] mingw build broken due to change of
                    rdtsc implementation
           Product: gcc
           Version: 11.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: daniel.f.starke at freenet dot de
  Target Milestone: ---

GCC 11.1.0 build for mingw-w64 is broken now. Up to 10.3.0 the following was
used in gcc/config/i386/ia32intrin.h:
    extern __inline unsigned long long
    __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    __rdtsc (void)
    {
      return __builtin_ia32_rdtsc ();
    }

    extern __inline unsigned long long
    __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    __rdtscp (unsigned int *__A)
    {
      return __builtin_ia32_rdtscp (__A);
    }
but now we have just
    #define __rdtsc()               __builtin_ia32_rdtsc ()
    #define __rdtscp(a)             __builtin_ia32_rdtscp (a)
Changing this back fixes the build.
See also mingw-w64 7.0.0 at mingw-w64-crt/intrincs/rdtsc.c.

Reply via email to