3
# Determine TARGET-/compiler-specific FFLAGS for optimization.
4
AC_DEFUN([GA_F77_OPT], [
5
AC_REQUIRE([GA_TARGET64])
6
AC_REQUIRE([GA_ENABLE_OPT])
7
AC_ARG_VAR([GA_FOPT], [GA Fortran 77 optimization flags])
8
AC_CACHE_CHECK([for specific Fortran optimizations], [ga_cv_f77_opt], [
9
AS_IF([test "x$GA_FOPT" != x], [ga_cv_f77_opt="$GA_FOPT"], [ga_cv_f77_opt=])
10
AS_IF([test "x$ga_cv_f77_opt" = x && test "x$enable_opt" = xyes], [
11
AS_CASE([$ga_cv_target:$ga_cv_f77_compiler_vendor:$host_cpu],
12
[BGL:*:*], [ga_cv_f77_opt="-O0"],
13
[BGP:ibm:*], [ga_cv_f77_opt="-O3 -qstrict -qarch=450 -qtune=450"],
14
[BGP:gnu:*], [ga_cv_f77_opt="-O2"],
15
[CATAMOUNT:*:*], [ga_cv_f77_opt="-O3"],
16
[CRAY_XT:*:*], [ga_cv_f77_opt=],
17
[CYGWIN:*:*], [ga_cv_f77_opt=],
18
[FUJITSU_VPP64:*:*], [ga_cv_f77_opt="-Sw"],
19
[FUJITSU_VPP:*:*], [ga_cv_f77_opt="-Sw -KA32"],
20
[HPUX64:*:*], [ga_cv_f77_opt="-O1"],
21
[HPUX64:*:ia64], [ga_cv_f77_opt="-O1"],
22
[HPUX:*:*], [ga_cv_f77_opt="-O1"],
23
[IBM64:*:*], [ga_cv_f77_opt="-qarch=auto"],
24
[IBM:*:*], [ga_cv_f77_opt="-qarch=auto"],
25
[LAPI64:*:*], [ga_cv_f77_opt="-qarch=auto"],
26
[LAPI:*:*], [ga_cv_f77_opt="-qarch=auto"],
27
[LINUX64:*:alpha], [ga_cv_f77_opt="-align_dcommons -fpe3 -check nooverflow -assume accuracy_sensitive -check nopower -check nounderflow"],
28
[LINUX64:fujitsu:ia64], [ga_cv_f77_opt="-Kfast -X9 -Am -fw"],
29
[LINUX64:fujitsu:x86_64], [ga_cv_f77_opt="-Kfast -X9 -Am -fw"],
30
[LINUX64:gnu:x86_64], [ga_cv_f77_opt="-O"],
31
[LINUX64:ibm:x86_64], [ga_cv_f77_opt=],
32
[LINUX64:intel:ia64], [ga_cv_f77_opt="-cm -w90 -w95 -align"],
33
[LINUX64:intel:powerpc64], [ga_cv_f77_opt=],
34
[LINUX64:intel:ppc64], [ga_cv_f77_opt=],
35
[LINUX64:intel:x86_64], [ga_cv_f77_opt="-O3 -w -cm -xW -tpp7"],
36
[LINUX64:portland:x86_64], [ga_cv_f77_opt="-Mdalign"],
37
[LINUX:fujitsu:*], [ga_cv_f77_opt="-Kfast -X9 -Am -fw"],
38
[LINUX:gnu:786], [ga_cv_f77_opt="-O2 -funroll-loops -malign-double"],
39
[LINUX:gnu:*], [ga_cv_f77_opt="-O2 -funroll-loops"],
40
[LINUX:gnu:x86], [ga_cv_f77_opt="-O2 -funroll-loops -malign-double"],
41
[LINUX:ibm:*], [ga_cv_f77_opt="-q32"],
42
[LINUX:intel:*], [ga_cv_f77_opt="-O3 -prefetch -w -cm"],
43
[LINUX:portland:*], [ga_cv_f77_opt="-Mdalign -Minform,warn -Mnolist -Minfo=loop -Munixlogical"],
44
[MACX64:ibm:*], [ga_cv_f77_opt=],
45
[MACX64:intel:*], [ga_cv_f77_opt="-O3 -prefetch -w -cm"],
46
[MACX:gnu:*], [ga_cv_f77_opt="-O3 -funroll-loops"],
47
[MACX:intel:*], [ga_cv_f77_opt="-O3 -prefetch -w -cm"],
48
[NEC64:*:*], [ga_cv_f77_opt="-Cvsafe -size_t64"],
49
[NEC:*:*], [ga_cv_f77_opt="-Cvsafe"],
50
[SOLARIS64:fujitsu:*], [ga_cv_f77_opt="-fw -Kfast -KV9FMADD"],
51
[SOLARIS64:gnu:*], [ga_cv_f77_opt="-xs -dalign -xarch=v9"],
52
[SOLARIS64:gnu:i386], [ga_cv_f77_opt="-xs -dalign -xarch=amd64"],
53
[SOLARIS:fujitsu:*], [ga_cv_f77_opt="-fw -Kfast -KV8PFMADD"],
54
[SOLARIS:gnu:*], [ga_cv_f77_opt="-xs -dalign"],
55
[SOLARIS:gnu:i386], [ga_cv_f77_opt="-xs -dalign -xarch=sse2"],
58
AC_SUBST([GA_FOPT], [$ga_cv_f77_opt])