http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38785



--- Comment #33 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-11-16 
18:00:54 UTC ---

And at -O3 the testcase does not look really good indeed

  <bb 7>:

  # cstore_51 = PHI <0(5), 2147483647(6)>

  # prephitmp_82 = PHI <1073741823(5), 3221225470(6)>

  # prephitmp_83 = PHI <1789569705(5), 3937053352(6)>

  # prephitmp_84 = PHI <2326440616(5), 4473924263(6)>

  # prephitmp_85 = PHI <2755937345(5), 4903420992(6)>

  # prephitmp_86 = PHI <3113851286(5), 5261334933(6)>

  # prephitmp_87 = PHI <2684354557(5), 4831838204(6)>

  # prephitmp_88 = PHI <2219066434(5), 4366550081(6)>

  # prephitmp_89 = PHI <2576980375(5), 4724464022(6)>

  # prephitmp_90 = PHI <2147483646(5), 4294967293(6)>

  # prephitmp_91 = PHI <1610612734(5), 3758096381(6)>

  # prephitmp_92 = PHI <2040109463(5), 4187593110(6)>

  # prephitmp_93 = PHI <2398023404(5), 4545507051(6)>

  # prephitmp_94 = PHI <1968526675(5), 4116010322(6)>

  # prephitmp_95 = PHI <1503238552(5), 3650722199(6)>

  # prephitmp_96 = PHI <1861152493(5), 4008636140(6)>

  # prephitmp_97 = PHI <1431655764(5), 3579139411(6)>

  # prephitmp_98 = PHI <715827882(5), 2863311529(6)>

  # prephitmp_99 = PHI <1252698793(5), 3400182440(6)>

  # prephitmp_100 = PHI <1682195522(5), 3829679169(6)>

  # prephitmp_103 = PHI <1145324611(5), 3292808258(6)>

  # prephitmp_106 = PHI <536870911(5), 2684354558(6)>

  # prephitmp_107 = PHI <966367640(5), 3113851287(6)>

  # prephitmp_108 = PHI <1324281581(5), 3471765228(6)>

  # prephitmp_109 = PHI <894784852(5), 3042268499(6)>

  # prephitmp_110 = PHI <429496729(5), 2576980376(6)>

  # prephitmp_111 = PHI <787410670(5), 2934894317(6)>

  # prephitmp_112 = PHI <357913941(5), 2505397588(6)>

  *_18 = cstore_51;

  _24 = *_20;

  _25 = _24 << 2;

  if (_25 >= -14)

    goto <bb 8>;

  else

    goto <bb 9>;



The catch is that the patch disabled the partial PRE by an accident. No cold

edges are involved here since we predict all the branches quite even :(

Reply via email to