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



--- Comment #3 from John David Anglin <danglin at gcc dot gnu.org> 2013-02-15 
19:07:29 UTC ---

In final:



(note 135 134 137 [bb 11] NOTE_INSN_BASIC_BLOCK)

(insn:TI 137 135 138 (set (reg:SF 68 %fr22 [orig:303 D.1185 ] [303])

        (minus:SF (reg:SF 58 %fr17 [orig:107 D.1185 ] [107])

            (reg:SF 58 %fr17 [orig:107 D.1185 ] [107])))

integer_exponentiation_2.f90:83 140 {subsf3}

     (nil))

(insn:TI 138 137 139 (set (reg:SF 68 %fr22 [orig:304 D.1185 ] [304])

        (abs:SF (reg:SF 68 %fr22 [orig:303 D.1185 ] [303])))

integer_exponentiation_2.f90:83 150 {abssf2}

     (nil))



In expand:



;; Generating RTL for gimple basic block 12



;; if (_131 < _143)



(insn 136 135 137 (set (reg:SF 302 [ D.1185 ])

        (mult:SF (reg:SF 104 [ D.1185 ])

            (reg:SF 200 [ D.1185 ]))) integer_exponentiation_2.f90:39 -1

     (nil))



(insn 137 136 138 (set (reg:SF 303 [ D.1185 ])

        (minus:SF (reg:SF 302 [ D.1185 ])

            (reg:SF 107 [ D.1185 ]))) integer_exponentiation_2.f90:83 -1

     (nil))



(insn 138 137 139 (set (reg:SF 304 [ D.1185 ])

        (abs:SF (reg:SF 303 [ D.1185 ]))) integer_exponentiation_2.f90:83 -1

     (nil))



The tree code is:



  _131 = _130 * 9.99999974737875163555145263671875e-6;

  ...



;;   basic block 12, loop depth 0

;;    pred:       11

  powmult_43 = _12 * powmult_177;

  _142 = powmult_43 - _17;

  _143 = ABS_EXPR <_142>;

  if (_131 < _143)

    goto <bb 3>;

  else

    goto <bb 13>;

Reply via email to