diff mbox series

rs6000: Don't use rs6000_isa_flags_explicit for soft float tests (PR88145)

Message ID 91f4f072e233270518a0b3df824ca9da4a99b087.1544516392.git.segher@kernel.crashing.org
State New
Headers show
Series rs6000: Don't use rs6000_isa_flags_explicit for soft float tests (PR88145) | expand

Commit Message

Segher Boessenkool Dec. 11, 2018, 8:27 a.m. UTC
...specifically, those for builtins.  Soft float can be enabled
implicitly, too (for certain CPUs for example).  We should use
rs6000_isa_flags instead, to decide whether to expand a builtin or
to bail out with an error instead.

Tested on powerpc64-linux {-m32,-m64}.  Committing.


Segher


2018-12-11  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/88145
	* config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): Use
	rs6000_isa_flags instead of rs6000_isa_flags_explicit to decide
	whether soft float is enabled.
	(rs6000_expand_mtfsb_builtin): Ditto.
	(rs6000_expand_set_fpscr_rn_builtin): Ditto.
	(rs6000_expand_set_fpscr_drn_builtin): Ditto.

---
 gcc/config/rs6000/rs6000.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index f7b2515..4a75e6d 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -13339,7 +13339,7 @@  rs6000_expand_zeroop_builtin (enum insn_code icode, rtx target)
     return 0;
 
   if (icode == CODE_FOR_rs6000_mffsl
-      && rs6000_isa_flags_explicit & OPTION_MASK_SOFT_FLOAT)
+      && rs6000_isa_flags & OPTION_MASK_SOFT_FLOAT)
     {
       error ("__builtin_mffsl() not supported with -msoft-float");
       return const0_rtx;
@@ -13411,7 +13411,7 @@  rs6000_expand_mtfsb_builtin (enum insn_code icode, tree exp)
     /* Builtin not supported on this processor.  */
     return 0;
 
-  if (rs6000_isa_flags_explicit & OPTION_MASK_SOFT_FLOAT)
+  if (rs6000_isa_flags & OPTION_MASK_SOFT_FLOAT)
     {
       error ("__builtin_mtfsb0 and __builtin_mtfsb1 not supported with -msoft-float");
       return const0_rtx;
@@ -13448,7 +13448,7 @@  rs6000_expand_set_fpscr_rn_builtin (enum insn_code icode, tree exp)
     /* Builtin not supported on this processor.  */
     return 0;
 
-  if (rs6000_isa_flags_explicit & OPTION_MASK_SOFT_FLOAT)
+  if (rs6000_isa_flags & OPTION_MASK_SOFT_FLOAT)
     {
       error ("__builtin_set_fpscr_rn not supported with -msoft-float");
       return const0_rtx;
@@ -13492,7 +13492,7 @@  rs6000_expand_set_fpscr_drn_builtin (enum insn_code icode, tree exp)
     fatal_error (input_location,
 		 "__builtin_set_fpscr_drn is not supported in 32-bit mode.");
 
-  if (rs6000_isa_flags_explicit & OPTION_MASK_SOFT_FLOAT)
+  if (rs6000_isa_flags & OPTION_MASK_SOFT_FLOAT)
     {
       error ("__builtin_set_fpscr_drn not supported with -msoft-float");
       return const0_rtx;