Skip to content

Commit 4e28dc6

Browse files
authored
Use only -O1 with AMD AOCC version of flang
to prevent miscompilation of LAPACK codes and tests on Ryzen
1 parent 86552bf commit 4e28dc6

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

Makefile.system

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -783,6 +783,7 @@ endif
783783

784784
ifeq ($(F_COMPILER), FLANG)
785785
CCOMMON_OPT += -DF_INTERFACE_FLANG
786+
FCOMMON_OPT += -frecursive
786787
ifdef BINARY64
787788
ifdef INTERFACE64
788789
ifneq ($(INTERFACE64), 0)
@@ -796,6 +797,11 @@ endif
796797
ifeq ($(USE_OPENMP), 1)
797798
FCOMMON_OPT += -fopenmp
798799
endif
800+
ifeq ($(OSNAME), Linux)
801+
ifeq ($(ARCH), x86_64)
802+
FLANG_VENDOR := $(shell expr `$(FC) --version|cut -f 1 -d "."|head -1`)
803+
endif
804+
endif
799805
endif
800806

801807
ifeq ($(F_COMPILER), G77)
@@ -1270,8 +1276,11 @@ endif
12701276

12711277
override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
12721278
override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
1273-
1279+
ifeq ($(FLANG_VENDOR),AOCC)
1280+
override FFLAGS += $(filter-out -O2 -O3,$(COMMON_OPT)) -O1 $(FCOMMON_OPT)
1281+
else
12741282
override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT)
1283+
endif
12751284
override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF)
12761285
#MAKEOVERRIDES =
12771286

0 commit comments

Comments
 (0)