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

--- Comment #6 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-06-20 
15:16:59 UTC ---
Gimple out of the middle end looks fine.  From 142t.optimized:

;; Function nu_derivs (__massivenu_MOD_nu_derivs, funcdef_no=0, decl_uid=708,
cgraph_uid=0)

nu_derivs ()
{
  real(kind=8) D.719;
  real(kind=8) vdot;
  integer(kind=4) iq;
  real(kind=8) g1[4];
  real(kind=8) aqdot;
  real(kind=8) aq;
  real(kind=8) adotoa;
  integer(kind=8) D.736;
  integer(kind=8) D.735;
  real(kind=8) D.734;
  real(kind=8) D.733;
  real(kind=8) D.732;
  real(kind=8) D.731;
  real(kind=8) D.730;
  real(kind=8) D.729;
  real(kind=8) D.728;
  real(kind=8) D.727;

<bb 2>:
  # DEBUG iq => 2

<bb 3>:
  # iq_1 = PHI <2(2), iq_19(3)>
  # DEBUG iq => iq_1
  D.727_3 = (real(kind=8)) iq_1;
  D.728_4 = D.727_3 - 1.5e+0;
  D.729_5 = ((D.728_4));
  aq_6 = 1.0e+0 / D.729_5;
  # DEBUG aq => aq_6
  # DEBUG aqdot => aq_6 * adotoa_7(D)
  D.730_9 = __builtin_pow (aq_6, 2.0e+0);
  D.731_10 = D.730_9 + 1.0e+0;
  D.719_11 = ((D.731_10));
  D.733_13 = __builtin_pow (D.719_11, -1.5e+0);
  aqdot_8 = D.733_13 * adotoa_7(D);
  D.732_12 = aqdot_8 * aq_6;
  D.734_14 = D.732_12 * aq_6;
  vdot_15 = -D.734_14;
  # DEBUG vdot => vdot_15
  D.735_16 = (integer(kind=8)) iq_1;
  D.736_17 = D.735_16 + -1;
  g1[D.736_17] = vdot_15;
  iq_19 = iq_1 + 1;
  # DEBUG iq => iq_19
  if (iq_1 == 4)
    goto <bb 4>;
  else
    goto <bb 3>;

<bb 4>:
  dummy (&g1);
  return;

}

Reply via email to