rs6000: Add command line and builtin compatibility check
authorCarl Love <carll@us.ibm.com>
Fri, 20 Mar 2020 23:15:05 +0000 (18:15 -0500)
committerCarl Love <carll@us.ibm.com>
Fri, 20 Mar 2020 23:16:24 +0000 (18:16 -0500)
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.

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 7f00a1367a2ed2ebd4eb9ed02a83a47f02b2b2aa..2bb7ccc615724e99caf42125e20b98073824f1ff 100644 (file)
@@ -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
index 4ecf9726877ecc38cb00b86a142c3716adf534bb..07f7cf516babd13893685ad4dd3545d0a6661d7d 100644 (file)
@@ -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)