From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1881) id 233913835813; Wed, 23 Jun 2021 20:09:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 233913835813 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Aaron Sawdey To: gcc-cvs@gcc.gnu.org Subject: [gcc r11-8646] Do not enable pcrel-opt by default X-Act-Checkin: gcc X-Git-Author: Aaron Sawdey X-Git-Refname: refs/heads/releases/gcc-11 X-Git-Oldrev: 8d21764dcbe15f1faec5804e3df4179ef9ea2089 X-Git-Newrev: ea2f428bfef43d286e0aa789eccd120d9b829a1e Message-Id: <20210623200909.233913835813@sourceware.org> Date: Wed, 23 Jun 2021 20:09:09 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jun 2021 20:09:09 -0000 https://gcc.gnu.org/g:ea2f428bfef43d286e0aa789eccd120d9b829a1e commit r11-8646-gea2f428bfef43d286e0aa789eccd120d9b829a1e Author: Aaron Sawdey Date: Tue Jun 22 16:02:15 2021 -0500 Do not enable pcrel-opt by default Backported from trunk. 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. (cherry picked from commit b7574ca6edb5ac7fab741f46d4f50ac4294c8180) Diff: --- gcc/config/rs6000/rs6000-cpus.def | 4 +++- gcc/testsuite/gcc.target/powerpc/pcrel-opt-inc-di.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-df.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-di.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-hi.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-qi.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-sf.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-si.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-ld-vector.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-df.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-di.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-hi.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-qi.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-sf.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-si.c | 2 +- gcc/testsuite/gcc.target/powerpc/pcrel-opt-st-vector.c | 2 +- 16 files changed, 18 insertions(+), 16 deletions(-) diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def index 52ce84835f7..6758296c0fd 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 c82041c9dc6..6272f5c72c3 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 d35862fcb6e..0dcab311add 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 7e1ff99f20e..95b60f3b151 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 4143aeb7371..4a62dfbdf6e 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 30d3236f95c..3a7aad45b55 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 9d1e2a1956f..cb76bed04b8 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 17be6fa1778..ad011d61448 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 8c12aea5acd..c8f70b5d433 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 d795d35d8de..686a3761462 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 bf57de4b886..fefe6d30e01 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 8822e767dfe..d2856863da7 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 2f756833717..f617ffc6adf 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 3dd88aad856..6eb20a3e047 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 78dc8120efe..0cc0b304dd0 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 2c602eb3103..d760819cfd2 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