From 8ab40918a3b6b9093930193fe8900d738858e75f Mon Sep 17 00:00:00 2001 From: Carl Love Date: Tue, 31 Mar 2020 11:30:00 -0500 Subject: [PATCH] rs6000: Add command line and builtin compatibility check 2020-03-31 Carl Love backport of mainline commit commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce Author: Carl Love Date: Fri Mar 20 18:15:05 2020 -0500 whith change log typo fixed. PR target/87583 * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal): Add check for TARGET_FPRND for Power 7 or newer. --- gcc/ChangeLog | 12 ++++++++++++ gcc/config/rs6000/rs6000.c | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 040c48d08298..d2b45c10a7d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2020-03-31 Carl Love + + Backport from mainline + commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce + Author: Carl Love + Date: Fri Mar 20 18:15:05 2020 -0500 + with ChangeLog typo fixed. + + PR target/87583 + * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal): + Add check for TARGET_FPRND for Power 7 or newer. + 2020-03-24 John David Anglin PR lto/94249 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 5ec2b339df64..11d451293574 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -4099,6 +4099,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.47.2