From 7257873cbf1fa11f5d528384f9fcef922f149d26 Mon Sep 17 00:00:00 2001 From: Gustavo Romero Date: Mon, 28 Nov 2016 11:13:38 -0500 Subject: [PATCH] 8170153: PPC64/s390x/aarch64: Poor StrictMath performance due to non-optimized compilation Reviewed-by: mdoerr, erikj, simonis, aph --- jdk/make/lib/CoreLibraries.gmk | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/jdk/make/lib/CoreLibraries.gmk b/jdk/make/lib/CoreLibraries.gmk index 345c4253389..27dad3553ee 100644 --- a/jdk/make/lib/CoreLibraries.gmk +++ b/jdk/make/lib/CoreLibraries.gmk @@ -33,10 +33,22 @@ $(eval $(call IncludeCustomExtension, jdk, lib/CoreLibraries.gmk)) # libfdlibm is statically linked with libjava below and not delivered into the # product on its own. -BUILD_LIBFDLIBM_OPTIMIZATION := HIGH +BUILD_LIBFDLIBM_OPTIMIZATION := NONE -ifneq ($(OPENJDK_TARGET_OS), solaris) - BUILD_LIBFDLIBM_OPTIMIZATION := NONE +ifeq ($(OPENJDK_TARGET_OS), solaris) + BUILD_LIBFDLIBM_OPTIMIZATION := HIGH +endif + +ifeq ($(OPENJDK_TARGET_OS), linux) + ifeq ($(OPENJDK_TARGET_CPU), ppc64) + BUILD_LIBFDLIBM_OPTIMIZATION := HIGH + else ifeq ($(OPENJDK_TARGET_CPU), ppc64le) + BUILD_LIBFDLIBM_OPTIMIZATION := HIGH + else ifeq ($(OPENJDK_TARGET_CPU), s390x) + BUILD_LIBFDLIBM_OPTIMIZATION := HIGH + else ifeq ($(OPENJDK_TARGET_CPU), aarch64) + BUILD_LIBFDLIBM_OPTIMIZATION := HIGH + endif endif LIBFDLIBM_SRC := $(JDK_TOPDIR)/src/java.base/share/native/libfdlibm @@ -51,6 +63,10 @@ ifneq ($(OPENJDK_TARGET_OS), macosx) CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \ CFLAGS_windows_debug := -DLOGGING, \ CFLAGS_aix := -qfloat=nomaf, \ + CFLAGS_linux_ppc64 := -ffp-contract=off, \ + CFLAGS_linux_ppc64le := -ffp-contract=off, \ + CFLAGS_linux_s390x := -ffp-contract=off, \ + CFLAGS_linux_aarch64 := -ffp-contract=off, \ DISABLED_WARNINGS_gcc := sign-compare, \ DISABLED_WARNINGS_microsoft := 4146 4244 4018, \ ARFLAGS := $(ARFLAGS), \