]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Do not enable pcrel-opt by default
authorAaron Sawdey <acsawdey@linux.ibm.com>
Tue, 22 Jun 2021 21:02:15 +0000 (16:02 -0500)
committerAaron Sawdey <acsawdey@linux.ibm.com>
Wed, 23 Jun 2021 20:07:44 +0000 (15:07 -0500)
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.

16 files changed:
gcc/config/rs6000/rs6000-cpus.def
gcc/testsuite/gcc.target/powerpc/pcrel-opt-inc-di.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-df.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-di.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-hi.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-qi.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-sf.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-si.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-vector.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-df.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-di.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-hi.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-qi.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-sf.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-si.c
gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-vector.c

index 52ce84835f7eddd67332e76fa935d98a8f7ca220..6758296c0fd106fbe15d23aa37efa0c765090573 100644 (file)
                                 | 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                   \
index c82041c9dc67b4cc024d2d6b9b24e302421efb59..6272f5c72c304e8882d4df1e98304932e22c647b 100644 (file)
@@ -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
 
index d35862fcb6e05e0aa82a4fe3dd7df9817646e8e7..0dcab311addadf46dbb1bfd1f6639eac8840cbae 100644 (file)
@@ -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
index 7e1ff99f20e8a89517af1a3999185738b541b16e..95b60f3b15169e13a71d1f6c0ca908a14ce0482e 100644 (file)
@@ -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
index 4143aeb73718db820d0d49e4d6c71f6c6409d85e..4a62dfbdf6e1c102afed785f435e94101ee5bb65 100644 (file)
@@ -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
index 30d3236f95c4f026dea93cd1b7d046b808b3d2cd..3a7aad45b55dc76528c17ff2dc312ba45e638d7c 100644 (file)
@@ -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
index 9d1e2a1956f458bdf7f2bc88537314509e32b67f..cb76bed04b836615b053e3cd4c7ac6675f6cf4e4 100644 (file)
@@ -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
index 17be6fa17789506afe5af541dd548dae49d07c52..ad011d61448f6e5b08f3d097edd7fcaf33bf1acc 100644 (file)
@@ -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
index 8c12aea5acdc34c0224a889b7f8113246df828ed..c8f70b5d43319bf7c4499c2df105e982d186deb3 100644 (file)
@@ -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
index d795d35d8de8f566cac6a0903e04edd18a709e36..686a37614621aa693a4eee94e161fa3645084449 100644 (file)
@@ -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
index bf57de4b88628736076de09d1d71cf01bcee4534..fefe6d30e01f7746c5512ccea09af9d8045316a0 100644 (file)
@@ -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
index 8822e767dfe5596e35bf6cf54e5183d3f00c4226..d2856863da70cad6fdfe085c0ea4616e6ea82d79 100644 (file)
@@ -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
index 2f756833717b8da4144abfe40f91e6d4a2505031..f617ffc6adf2ad38b4f347da22ff780e7279cd6f 100644 (file)
@@ -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
index 3dd88aad8568afbe7a08c671e138bdd65a7dc611..6eb20a3e0474c5eac86459b03040f0b4a2675ddc 100644 (file)
@@ -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
index 78dc8120efebac175a6647f515309eb7fc4bb899..0cc0b304dd0de69e2d81115e28fa1bb9d040fada 100644 (file)
@@ -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
index 2c602eb3103f81651117e08e1ad127b575e7cf09..d760819cfd2aaf717f40faf43bcc4875f15bd54f 100644 (file)
@@ -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