Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

inlining messages of the ipo facility

parallelworker
Beginner
647 Views
Hey, what do the annotations like "exp(EXTERN)" or "log(EXTERN)" showing up in inlining reports generated by the IPO facility (when using the command line option -opt-report) exactly mean? Do this messages inform me about the fact that the compiler decides not to implement the intrinsic versions of the (d)exp and (d/a)log function but chooses instead the (d)exp and (d)log function from libm? How can I however instruct the compiler to make use of the intrinsic versions of the exp and log functions from libimf? Even stating the choice of the intrinsic version of the log/exp functions within the specification part of the calling function (e. g. by stating intrinsic :: exp), did not make the above cited labelling of the exp and log functions as extern functions disappear? Cheers, Sebastian.
0 Kudos
2 Replies
TimP
Honored Contributor III
647 Views
I think your question is confusing. From the Fortran point of view, exp and log functions provided by the compiler are intrinsic no matter how it is done. libimf or libsvml functions will be needed anyway to implement for any architecture setting other than 32-bit -mia32.
0 Kudos
parallelworker
Beginner
647 Views
Hey Tim, all I wanted to know about is the true meaning of the word "EXTERN" printed in compiler inlining reports like the following: INLINING REPORT: (prodrates_) [2/3=66.7%] -> omp_get_wtime(EXTERN) -> exp(EXTERN) -> log(EXTERN) Now I got the clue about the true meaning of the word "EXTERN" printed within reports like the one cited above: Cause the functions like exp and log are called from within the compiler libraries they are "extern functions" in the sense of external C functions. ;-) Thanks for your help, Sebastian.
0 Kudos
Reply