------- Comment #1 from ubizjak at gmail dot com  2007-05-30 15:08 -------
gfortran -ffast-math -funroll-loops -O3 -msse3 -mfpmath=387 rnflow.f90

time ./a.out
user    0m37.982s

profiled run:
user    0m43.147s

each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 59.76     17.73    17.73 64527290     0.00     0.00  idamax_
 11.80     21.23     3.50       64     0.05     0.06  gentrs_
  9.47     24.04     2.81       64     0.04     0.32  cptrf2_
  6.94     26.10     2.06     6749     0.00     0.00  cmpcpt_
  4.01     27.29     1.19       64     0.02     0.02  cptrf1_
  3.98     28.47     1.18        1     1.18    26.48  matsim_
  0.78     28.70     0.23        1     0.23     3.17  evlrnf_

gfortran -ffast-math -funroll-loops -O3 -msse3 -mfpmath=387 -ftree-vectorize
rnflow.f90

time ./a.out
user    0m55.031s

profiled run:
user    1m0.124s

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 71.55     31.43    31.43 64527290     0.00     0.00  idamax_
  8.17     35.02     3.59       64     0.06     0.06  gentrs_
  6.65     37.94     2.92       64     0.05     0.53  cptrf2_
  4.89     40.09     2.15     6749     0.00     0.00  cmpcpt_
  2.66     41.26     1.17        1     1.17    40.19  matsim_
  2.53     42.37     1.11       64     0.02     0.02  cptrf1_
  0.80     42.72     0.35        1     0.35     3.70  evlrnf_

However, idamax_ routine is identical in both cases.


-- 


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

Reply via email to