aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <dje.gcc@gmail.com>2020-03-05 20:41:08 -0500
committerDavid Edelsohn <dje.gcc@gmail.com>2020-03-06 11:19:55 -0500
commit3dcf51ad7b0a9cacba1a056755c16cc1cf7984ee (patch)
tree348aacbc900561cf638f814b4f8b4a451b85a426
parente6ce69cae5059dfd715edd4e26653c23baf4cb0f (diff)
downloadgcc-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/ChangeLog9
-rw-r--r--gcc/config/rs6000/aix61.h4
-rw-r--r--gcc/config/rs6000/aix71.h4
-rw-r--r--gcc/config/rs6000/aix72.h4
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) \
{ \