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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
BTW, better avoid any headers if possible, so if:
long long int m33 = 8707493562598231894LL;
long long int m46 = 2720142332956971588LL;
long long int m30 = 5337614525613944604LL;
unsigned int m21 = 1092738485U;

long long int a43 = -2228108721620697360LL;
unsigned int a16 = 3060393125U;
long long int a103 = -5267148545474741934LL;
long long int a23 = 628644587444781171LL;
long long int a120 = -1929881923114969467LL;
unsigned int a31 = 342358347U;
unsigned int a50 = 4141428744U;
unsigned int a92 = 3147872734U;
long long int a20 = 2249711228974996732LL;
unsigned int a112 = 4012608111U;
unsigned int a113 = 664122423U;
unsigned int a55 = 795984700U;

unsigned int v38 = 751359462U;
unsigned int *p8 = &(v38);

unsigned int v64 = 274677517U;
unsigned long long int v36 = 14738459288714673932ULL;
unsigned int *p9 = &(v64);
unsigned int *p10 = &(a113);
unsigned long long int * p6 = &(v36);

long long int tt;
unsigned int yy;
long long int *p11 = &tt;
unsigned int *p12 = &yy;

unsigned long long int v12 = 5759377091529791657ULL;
unsigned long long int v146 = 15085582420970487994ULL;
unsigned long long int v176 = 13537462614340337437ULL;
unsigned int v114 = 3159284560U;
long long int v84 = -5592336281551563373LL;
unsigned int v44 = 916868838U;

unsigned long long int tf_0_var_108 = 122846687590239390ULL;
unsigned long long int tf_0_var_118 = 15084731736992858763ULL;
unsigned int tf_0_var_546 = 1383085329U;
long long int tf_0_var_142 = 676559977929482050LL;
unsigned int tf_0_var_614 = 1321771489U;
unsigned int tf_0_var_116 = 2438389883U;
long long int tf_0_var_682 = 2997174617692616057LL;
unsigned long long int tf_0_var_728 = 4431338120255382076ULL;
unsigned long long int tf_0_var_120 = 11272010769831539270ULL;
unsigned int tf_0_var_954 = 2906827848U;

void foo() {
  if (-2783342978U * int(a43) || v64)
    if (p9)
      if (m33)
        if (v36)
          if (v12 & ~-(8 ? -2783342978U * int(a43) : 0)) {
            m46 = a16 < a103;
            tf_0_var_118 = a23 >> *p8 - 751359400;
            *p10 = v146;
            long a =
                (a23 >> *p8 - 751359400 >>
                 ~-(8 ? -2783342978U * int(a43) : 0) - 88480234) -
                        (808 ? 8 ? -2783342978U * int(a43) : 0 : 0)
                    ? v176
                    : ~-(8 ? -2783342978U * int(a43) : 0) -
                          88480234;
            tf_0_var_108 = a;
            if (~0 % *p6 % 5)
              tf_0_var_546 =
                  -3 * ((8 ? a43 : 0) - 4 ?: 407228174574);
            if (v114 < (0 || ~0)) {
              long long *b = &tf_0_var_142;
              p10 = 0;
              int c(*p9);
              *p11 = 0;
              tf_0_var_614 =
                  ~(808 ? -(8 ? unsigned(-2783342978U * a43) : 0)
                        : 0);
              a120 = *b & m30;
              tf_0_var_116 = c;
            } else {
              m30 = 0;
              int d, e(!0 % (a31 % *p6));
              a50 =
                  ((a92 || !m21) &&
                   a20) -
                  -(8 ? -2783342978U * int(a43) : d);
              tf_0_var_682 = a23 >> *p8 - 751359400;
              tf_0_var_142 = v12;
              long f(a23 >> *p8 - 751359400 >>
                     ~-(8 ? -2783342978U * int(a43) : 0) -
                         88480234);
              tf_0_var_728 = v36;
              a112 = a103 * f * e * v84;
            }
            if (8ULL *
                -(808 ? -(8 ? -2783342978U * int(a43) : 0) : 0))
              ;
            else {
              *p10 = 0;
              int g(3 & v44);
              tf_0_var_120 = unsigned(~a23 + 9223372036854775807 >>
                                      (8 ? a43 : 0));
              *p12 = g + tf_0_var_142;
              a113 =
                  m30 ||
                  ~0 + 9223372036854775807 >>
                      ~-(8 ? -2783342978U * int(a43) : 0);
              tf_0_var_954 = a23 >> (8 ? 8 * a43 : 0);
              a55 = *p8 ? -2783342978U * a43 : 0;
            }
          }
}

int main() {
  foo();
  __builtin_printf ("%d\n", a50);
  return 0;
}

does reproduce it too, better test that.

Reply via email to