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

--- Comment #2 from Quanhua Liu <quanhua.liu at noaa dot gov> ---
I modified the application code (see below) and use the "method" as a control
variable from command line.
I use the same code for both gfortran 10.3.0 and ifort 19.0.5.281
  gfortran -O3 matrixCal.f90
  time a.out  1
  time a.out  2
  ifort -O3 matrixCal.f90
  time a.out  1
  time a.out  2
where method 1, C = matmul(A, transpose(B) )
             method 2, BB = transpose(B),  C = matmul(A, BB)
  The timing is given in the table below.
As you can see, using gfortran, method '2' is 6 times faster than the method
'1'.
Using ifort, method '2' is very similar to the method '1'. '1' is slightly fast
because '2' may copy B to BB.

Timing
compiler       gfortran                  ifort
method        1         2           1          2
real        6.28     0.79          0.80       0.83

Reply via email to