Tue, 30 Apr 2019 17:42:33 +0200
8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
Summary: Compile with -O3 and relevant C flags as for fdlibm.
Reviewed-by: andrew
1.1 --- a/make/bsd/makefiles/amd64.make Tue May 14 15:04:47 2019 +0100 1.2 +++ b/make/bsd/makefiles/amd64.make Tue Apr 30 17:42:33 2019 +0200 1.3 @@ -22,11 +22,16 @@ 1.4 # 1.5 # 1.6 1.7 -# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized 1.8 -OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 1.9 -# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized 1.10 -OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 1.11 -# Must also specify if CPU is little endian 1.12 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 1.13 +# the compiler so as to be able to produce optimized objects 1.14 +# without losing precision. 1.15 +ifneq ($(FDLIBM_CFLAGS),) 1.16 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 1.17 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 1.18 +else 1.19 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 1.20 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 1.21 +endif 1.22 CFLAGS += -DVM_LITTLE_ENDIAN 1.23 1.24 CFLAGS += -D_LP64=1
2.1 --- a/make/bsd/makefiles/i486.make Tue May 14 15:04:47 2019 +0100 2.2 +++ b/make/bsd/makefiles/i486.make Tue Apr 30 17:42:33 2019 +0200 2.3 @@ -24,10 +24,16 @@ 2.4 2.5 # TLS helper, assembled from .s file 2.6 2.7 -# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized 2.8 -OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 2.9 -# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized 2.10 -OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 2.11 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 2.12 +# the compiler so as to be able to produce optimized objects 2.13 +# without losing precision. 2.14 +ifneq ($(FDLIBM_CFLAGS),) 2.15 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 2.16 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 2.17 +else 2.18 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 2.19 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 2.20 +endif 2.21 # Must also specify if CPU is little endian 2.22 CFLAGS += -DVM_LITTLE_ENDIAN 2.23
3.1 --- a/make/bsd/makefiles/ppc.make Tue May 14 15:04:47 2019 +0100 3.2 +++ b/make/bsd/makefiles/ppc.make Tue Apr 30 17:42:33 2019 +0200 3.3 @@ -22,8 +22,16 @@ 3.4 # 3.5 # 3.6 3.7 -# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized 3.8 -OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 3.9 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 3.10 +# the compiler so as to be able to produce optimized objects 3.11 +# without losing precision. 3.12 +ifneq ($(FDLIBM_CFLAGS),) 3.13 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 3.14 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 3.15 +else 3.16 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 3.17 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 3.18 +endif 3.19 3.20 # Must also specify if CPU is big endian 3.21 CFLAGS += -DVM_BIG_ENDIAN
4.1 --- a/make/bsd/makefiles/zeroshark.make Tue May 14 15:04:47 2019 +0100 4.2 +++ b/make/bsd/makefiles/zeroshark.make Tue Apr 30 17:42:33 2019 +0200 4.3 @@ -25,10 +25,16 @@ 4.4 4.5 # Setup common to Zero (non-Shark) and Shark versions of VM 4.6 4.7 -# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized 4.8 -OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 4.9 -# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized 4.10 -OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 4.11 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 4.12 +# the compiler so as to be able to produce optimized objects 4.13 +# without losing precision. 4.14 +ifneq ($(FDLIBM_CFLAGS),) 4.15 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 4.16 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 4.17 +else 4.18 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 4.19 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 4.20 +endif 4.21 4.22 # Specify that the CPU is little endian, if necessary 4.23 ifeq ($(ZERO_ENDIANNESS), little)
5.1 --- a/make/linux/makefiles/amd64.make Tue May 14 15:04:47 2019 +0100 5.2 +++ b/make/linux/makefiles/amd64.make Tue Apr 30 17:42:33 2019 +0200 5.3 @@ -22,10 +22,16 @@ 5.4 # 5.5 # 5.6 5.7 -# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized 5.8 -OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 5.9 -# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized 5.10 -OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 5.11 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 5.12 +# the compiler so as to be able to produce optimized objects 5.13 +# without losing precision. 5.14 +ifneq ($(FDLIBM_CFLAGS),) 5.15 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 5.16 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 5.17 +else 5.18 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 5.19 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 5.20 +endif 5.21 # Must also specify if CPU is little endian 5.22 CFLAGS += -DVM_LITTLE_ENDIAN 5.23
6.1 --- a/make/linux/makefiles/i486.make Tue May 14 15:04:47 2019 +0100 6.2 +++ b/make/linux/makefiles/i486.make Tue Apr 30 17:42:33 2019 +0200 6.3 @@ -24,10 +24,16 @@ 6.4 6.5 # TLS helper, assembled from .s file 6.6 6.7 -# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized 6.8 -OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 6.9 -# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized 6.10 -OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 6.11 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 6.12 +# the compiler so as to be able to produce optimized objects 6.13 +# without losing precision. 6.14 +ifneq ($(FDLIBM_CFLAGS),) 6.15 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 6.16 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 6.17 +else 6.18 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 6.19 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 6.20 +endif 6.21 # Must also specify if CPU is little endian 6.22 CFLAGS += -DVM_LITTLE_ENDIAN 6.23
7.1 --- a/make/linux/makefiles/ppc64.make Tue May 14 15:04:47 2019 +0100 7.2 +++ b/make/linux/makefiles/ppc64.make Tue Apr 30 17:42:33 2019 +0200 7.3 @@ -49,3 +49,14 @@ 7.4 # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI. 7.5 CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string 7.6 endif 7.7 + 7.8 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 7.9 +# the compiler so as to be able to produce optimized objects 7.10 +# without losing precision. 7.11 +ifneq ($(FDLIBM_CFLAGS),) 7.12 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 7.13 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 7.14 +else 7.15 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 7.16 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 7.17 +endif
8.1 --- a/make/linux/makefiles/zeroshark.make Tue May 14 15:04:47 2019 +0100 8.2 +++ b/make/linux/makefiles/zeroshark.make Tue Apr 30 17:42:33 2019 +0200 8.3 @@ -28,10 +28,16 @@ 8.4 # override this from the main file because some version of llvm do not like -Wundef 8.5 WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wunused-function -Wunused-value 8.6 8.7 -# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized 8.8 -OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 8.9 -# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized 8.10 -OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 8.11 +# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to 8.12 +# the compiler so as to be able to produce optimized objects 8.13 +# without losing precision. 8.14 +ifneq ($(FDLIBM_CFLAGS),) 8.15 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 8.16 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS) 8.17 +else 8.18 + OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) 8.19 + OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) 8.20 +endif 8.21 8.22 # Specify that the CPU is little endian, if necessary 8.23 ifeq ($(ZERO_ENDIANNESS), little)