[gcc(refs/users/rguenth/heads/slp-reorg)] rs6000: Add command line and builtin compatibility check

Richard Biener rguenth@gcc.gnu.org
Mon Mar 23 15:58:26 GMT 2020


https://gcc.gnu.org/g:68dd57808f7c0147acdb5ca72c88ff655afcb0ce

commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce
Author: Carl Love <carll@us.ibm.com>
Date:   Fri Mar 20 18:15:05 2020 -0500

    rs6000: Add command line and builtin compatibility check
    
    2020-03-20  Carl Love  <cel@us.ibm.com>
    
            PR/target 87583
            * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal):
            Add check for TARGET_FPRND for Power 7 or newer.

Diff:
---
 gcc/ChangeLog              | 6 ++++++
 gcc/config/rs6000/rs6000.c | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7f00a1367a2..2bb7ccc6157 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-03-20  Carl Love  <cel@us.ibm.com>
+
+	PR/target 87583
+	* gcc/config/rs6000/rs6000.c (rs6000_option_override_internal):
+	Add check for TARGET_FPRND for Power 7 or newer.
+
 2020-03-20  Jan Hubicka  <hubicka@ucw.cz>
 
 	PR ipa/93347
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 4ecf9726877..07f7cf516ba 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -3714,6 +3714,14 @@ rs6000_option_override_internal (bool global_init_p)
       rs6000_isa_flags &= ~OPTION_MASK_CRYPTO;
     }
 
+  if (!TARGET_FPRND && TARGET_VSX)
+    {
+      if (rs6000_isa_flags_explicit & OPTION_MASK_FPRND)
+	/* TARGET_VSX = 1 implies Power 7 and newer */
+	error ("%qs requires %qs", "-mvsx", "-mfprnd");
+      rs6000_isa_flags &= ~OPTION_MASK_FPRND;
+    }
+
   if (TARGET_DIRECT_MOVE && !TARGET_VSX)
     {
       if (rs6000_isa_flags_explicit & OPTION_MASK_DIRECT_MOVE)


More information about the Gcc-cvs mailing list