aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAaron Sawdey <acsawdey@linux.ibm.com>2021-06-22 16:02:15 -0500
committerAaron Sawdey <acsawdey@linux.ibm.com>2021-06-23 15:07:44 -0500
commitb7574ca6edb5ac7fab741f46d4f50ac4294c8180 (patch)
tree01473ca6ec78714ec5452ea45faeb743ee22ecc6 /gcc
parentd48320083c9a2bdf0ddac693f9d523755b8b29ec (diff)
downloadgcc-b7574ca6edb5ac7fab741f46d4f50ac4294c8180.zip
gcc-b7574ca6edb5ac7fab741f46d4f50ac4294c8180.tar.gz
gcc-b7574ca6edb5ac7fab741f46d4f50ac4294c8180.tar.bz2
Do not enable pcrel-opt by default
SPEC2017 testing on p10 shows that this optimization does not have a positive impact on performance. So we are no longer going to enable it by default. The test cases for it needed to be updated so they always enable it to test it. gcc/ * config/rs6000/rs6000-cpus.def: Take OPTION_MASK_PCREL_OPT out of OTHER_POWER10_MASKS so it will not be enabled by default. gcc/testsuite/ * gcc.target/powerpc/pcrel-opt-inc-di.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-ld-df.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-ld-di.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-ld-hi.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-ld-qi.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-ld-sf.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-ld-si.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-ld-vector.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-st-df.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-st-di.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-st-hi.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-st-qi.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-st-sf.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-st-si.c: Enable -mpcrel-opt to test it. * gcc.target/powerpc/pcrel-opt-st-vector.c: Enable -mpcrel-opt to test it.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/rs6000/rs6000-cpus.def4
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-inc-di.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-df.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-di.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-hi.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-qi.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-sf.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-si.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-df.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-di.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-hi.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-qi.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-sf.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-si.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-vector.c2
16 files changed, 18 insertions, 16 deletions
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 52ce848..6758296 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -75,9 +75,11 @@
| OPTION_MASK_P9_VECTOR)
/* Flags that need to be turned off if -mno-power10. */
+/* We comment out PCREL_OPT here to disable it by default because SPEC2017
+ performance was degraded by it. */
#define OTHER_POWER10_MASKS (OPTION_MASK_MMA \
| OPTION_MASK_PCREL \
- | OPTION_MASK_PCREL_OPT \
+ /* | OPTION_MASK_PCREL_OPT */ \
| OPTION_MASK_PREFIXED)
#define ISA_3_1_MASKS_SERVER (ISA_3_0_MASKS_SERVER \
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-inc-di.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-inc-di.c
index c82041c..6272f5c 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-inc-di.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-inc-di.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE unsigned int
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-df.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-df.c
index d35862f..0dcab31 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-df.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-df.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE double
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-di.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-di.c
index 7e1ff99..95b60f3 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-di.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-di.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE long long
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-hi.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-hi.c
index 4143aeb..4a62dfbd 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-hi.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-hi.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE unsigned short
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-qi.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-qi.c
index 30d3236..3a7aad4 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-qi.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-qi.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE unsigned char
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-sf.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-sf.c
index 9d1e2a1..cb76bed 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-sf.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-sf.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE float
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-si.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-si.c
index 17be6fa..ad011d6 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-si.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-si.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE int
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-vector.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-vector.c
index 8c12aea..c8f70b5 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-vector.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-vector.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE vector double
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-df.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-df.c
index d795d35..686a376 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-df.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-df.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE double
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-di.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-di.c
index bf57de4..fefe6d3 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-di.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-di.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE long long
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-hi.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-hi.c
index 8822e76..d285686 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-hi.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-hi.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE unsigned short
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-qi.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-qi.c
index 2f75683..f617ffc 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-qi.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-qi.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE unsigned char
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-sf.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-sf.c
index 3dd88aa..6eb20a3 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-sf.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-sf.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE float
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-si.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-si.c
index 78dc812..0cc0b30 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-si.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-si.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE int
#define LARGE 0x20000
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-vector.c b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-vector.c
index 2c602eb..d760819 100644
--- a/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-vector.c
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-vector.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
#define TYPE vector double
#define LARGE 0x20000