diff options
author | David Edelsohn <dje.gcc@gmail.com> | 2020-03-05 20:41:08 -0500 |
---|---|---|
committer | David Edelsohn <dje.gcc@gmail.com> | 2020-03-06 11:19:55 -0500 |
commit | 3dcf51ad7b0a9cacba1a056755c16cc1cf7984ee (patch) | |
tree | 348aacbc900561cf638f814b4f8b4a451b85a426 | |
parent | e6ce69cae5059dfd715edd4e26653c23baf4cb0f (diff) | |
download | gcc-3dcf51ad7b0a9cacba1a056755c16cc1cf7984ee.zip gcc-3dcf51ad7b0a9cacba1a056755c16cc1cf7984ee.tar.gz gcc-3dcf51ad7b0a9cacba1a056755c16cc1cf7984ee.tar.bz2 |
rs6000: Correct logic to disable NO_SUM_IN_TOC and NO_FP_IN_TOC [PR94065]
aix61.h, aix71.h and aix72.h intends to prevent SUM_IN_TOC and FP_IN_TOC
when cmodel=large. This patch defines the variables associated with the
target options to 1 to _enable_ NO_SUM_IN_TOC and enable NO_FP_IN_TOC.
Bootstrapped on powerpc-ibm-aix7.2.0.0
2020-03-06 David Edelsohn <dje.gcc@gmail.com>
PR target/94065
* config/rs6000/aix61.h (TARGET_NO_SUM_IN_TOC): Set to 1 for
cmodel=large.
(TARGET_NO_FP_IN_TOC): Same.
* config/rs6000/aix71.h: Same.
* config/rs6000/aix72.h: Same.
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/rs6000/aix61.h | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/aix71.h | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/aix72.h | 4 |
4 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e38af8e..843c49e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2020-03-06 David Edelsohn <dje.gcc@gmail.com> + + PR target/94065 + * config/rs6000/aix61.h (TARGET_NO_SUM_IN_TOC): Set to 1 for + cmodel=large. + (TARGET_NO_FP_IN_TOC): Same. + * config/rs6000/aix71.h: Same. + * config/rs6000/aix72.h: Same. + 2020-03-06 Andrew Pinski <apinski@marvell.com> Jeff Law <law@redhat.com> diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h index 0b14f7e..13c3e09 100644 --- a/gcc/config/rs6000/aix61.h +++ b/gcc/config/rs6000/aix61.h @@ -49,8 +49,8 @@ do { \ } \ if (rs6000_current_cmodel != CMODEL_SMALL) \ { \ - TARGET_NO_FP_IN_TOC = 0; \ - TARGET_NO_SUM_IN_TOC = 0; \ + TARGET_NO_FP_IN_TOC = 1; \ + TARGET_NO_SUM_IN_TOC = 1; \ } \ if (rs6000_current_cmodel == CMODEL_MEDIUM) \ { \ diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h index b93d257..3be0cbe 100644 --- a/gcc/config/rs6000/aix71.h +++ b/gcc/config/rs6000/aix71.h @@ -49,8 +49,8 @@ do { \ } \ if (rs6000_current_cmodel != CMODEL_SMALL) \ { \ - TARGET_NO_FP_IN_TOC = 0; \ - TARGET_NO_SUM_IN_TOC = 0; \ + TARGET_NO_FP_IN_TOC = 1; \ + TARGET_NO_SUM_IN_TOC = 1; \ } \ if (rs6000_current_cmodel == CMODEL_MEDIUM) \ { \ diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h index f5e4d3e..292e67f 100644 --- a/gcc/config/rs6000/aix72.h +++ b/gcc/config/rs6000/aix72.h @@ -49,8 +49,8 @@ do { \ } \ if (rs6000_current_cmodel != CMODEL_SMALL) \ { \ - TARGET_NO_FP_IN_TOC = 0; \ - TARGET_NO_SUM_IN_TOC = 0; \ + TARGET_NO_FP_IN_TOC = 1; \ + TARGET_NO_SUM_IN_TOC = 1; \ } \ if (rs6000_current_cmodel == CMODEL_MEDIUM) \ { \ |