Skip to content

Commit 273f4e8

Browse files
authored
Merge pull request #4300 from ChipKerchner/powerFortranAIXMakefiles
Fix FCOMMON_OPT for power. Error out for certain C and Fortran compiler combos on AIX
2 parents 0a609cc + 3ada8fb commit 273f4e8

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

Makefile.power

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ ifeq ($(CORE), POWER10)
1313
ifneq ($(C_COMPILER), PGI)
1414
CCOMMON_OPT += -Ofast -mcpu=power10 -mtune=power10 -mvsx -fno-fast-math
1515
ifeq ($(F_COMPILER), IBM)
16-
FCOMMON_OPT += -O2 -qrecur -qnosave
16+
FCOMMON_OPT += -O2 -qrecur -qnosave -qarch=pwr10 -qtune=pwr10 -qfloat=nomaf -qzerosize
1717
else
18-
FCOMMON_OPT += -O2 -frecursive -mcpu=power10 -mtune=power10 -fno-fast-math
18+
FCOMMON_OPT += -O2 -frecursive -mcpu=power10 -mtune=power10 -fno-fast-math
1919
endif
2020
endif
2121
endif
@@ -38,9 +38,9 @@ CCOMMON_OPT += -fast -Mvect=simd -Mcache_align
3838
endif
3939
ifneq ($(F_COMPILER), PGI)
4040
ifeq ($(F_COMPILER), IBM)
41-
FCOMMON_OPT += -O2 -qrecur -qnosave
41+
FCOMMON_OPT += -O2 -qrecur -qnosave -qarch=pwr9 -qtune=pwr9 -qfloat=nomaf -qzerosize
4242
else
43-
FCOMMON_OPT += -O2 -frecursive -fno-fast-math
43+
FCOMMON_OPT += -O2 -frecursive -fno-fast-math -mcpu=power9 -mtune=power9
4444
endif
4545

4646
ifeq ($(F_COMPILER), GFORTRAN)
@@ -65,15 +65,15 @@ endif
6565
ifneq ($(F_COMPILER), PGI)
6666
ifeq ($(OSNAME), AIX)
6767
ifeq ($(F_COMPILER), IBM)
68-
FCOMMON_OPT += -O2 -qrecur -qnosave
68+
FCOMMON_OPT += -O2 -qrecur -qnosave -qarch=pwr8 -qtune=pwr8 -qfloat=nomaf -qzerosize
6969
else
70-
FCOMMON_OPT += -O1 -frecursive -mcpu=power8 -mtune=power8 -fno-fast-math
70+
FCOMMON_OPT += -O1 -frecursive -mcpu=power8 -mtune=power8 -fno-fast-math
7171
endif
7272
else
7373
ifeq ($(F_COMPILER), IBM)
74-
FCOMMON_OPT += -O2 -qrecur -qnosave
74+
FCOMMON_OPT += -O2 -qrecur -qnosave -qarch=pwr8 -qtune=pwr8 -qfloat=nomaf -qzerosize
7575
else
76-
FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -fno-fast-math
76+
FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -fno-fast-math
7777
endif
7878
endif
7979
else
@@ -135,6 +135,13 @@ endif
135135
ifdef BINARY64
136136

137137

138+
ifeq ($(C_COMPILER)$(F_COMPILER)$(OSNAME), GCCIBMAIX)
139+
$(error Using GCC and XLF on AIX is not a supported combination.)
140+
endif
141+
ifeq ($(C_COMPILER)$(F_COMPILER)$(OSNAME), CLANGGFORTRANAIX)
142+
$(error Using Clang and gFortran on AIX is not a supported combination.)
143+
endif
144+
138145
ifeq ($(OSNAME), AIX)
139146
ifeq ($(C_COMPILER), GCC)
140147
CCOMMON_OPT += -mpowerpc64 -maix64

Makefile.system

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1374,6 +1374,8 @@ ifeq ($(F_COMPILER), SUN)
13741374
FCOMMON_OPT += -pic
13751375
else ifeq ($(F_COMPILER), NAG)
13761376
FCOMMON_OPT += -PIC
1377+
else ifeq ($(F_COMPILER), IBM)
1378+
FCOMMON_OPT += -qpic=large
13771379
else
13781380
FCOMMON_OPT += -fPIC
13791381
endif
@@ -1626,9 +1628,11 @@ override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF)
16261628

16271629
ifeq ($(NEED_PIC), 1)
16281630
ifeq (,$(findstring PIC,$(FFLAGS)))
1631+
ifneq ($(F_COMPILER),IBM)
16291632
override FFLAGS += -fPIC
16301633
endif
16311634
endif
1635+
endif
16321636

16331637
#For LAPACK Fortran codes.
16341638
#Disable -fopenmp for LAPACK Fortran codes on Windows.

0 commit comments

Comments
 (0)