From 68dd57808f7c0147acdb5ca72c88ff655afcb0ce Mon Sep 17 00:00:00 2001 From: Carl Love Date: Fri, 20 Mar 2020 18:15:05 -0500 Subject: [PATCH] rs6000: Add command line and builtin compatibility check 2020-03-20 Carl Love PR/target 87583 * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal): Add check for TARGET_FPRND for Power 7 or newer. --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7f00a13..2bb7ccc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-03-20 Carl Love + + 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 PR ipa/93347 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 4ecf972..07f7cf5 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) -- 2.7.4