This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ppc e500: no spe disables 128 bit long doubles


Specifying no SPE should disable 128 bit long doubles if they are enabled; unless the user specifically asked for them.

I'm actually planning on adding emulation bits for 128 bit long doubles; mainly because ABI incompatability is driving me nuts.

Zack, it's up to you to enable 128 bit long double "unspport" on eabispe.h on the branch.

Committed to mainline and e500 branch.

Aldy

2003-04-21 Aldy Hernandez <aldyh at redhat dot com>

	* config/rs6000/rs6000.c (rs6000_override_options): No SPE means
	64-bit long doubles.

Index: config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.458
diff -c -p -r1.458 rs6000.c
*** config/rs6000/rs6000.c	14 Apr 2003 22:54:35 -0000	1.458
--- config/rs6000/rs6000.c	21 Apr 2003 21:39:12 -0000
*************** rs6000_override_options (default_cpu)
*** 731,736 ****
--- 731,741 ----
  	 MASK_STRING above when optimizing for size.  */
        if ((target_flags & MASK_STRING) != 0)
  	target_flags = target_flags & ~MASK_STRING;
+
+       /* No SPE means 64-bit long doubles, even if an E500.  */
+       if (rs6000_spe_string != 0
+           && !strcmp (rs6000_spe_string, "no"))
+ 	rs6000_long_double_type_size = 64;
      }
    else if (rs6000_select[1].string != NULL)
      {
*************** rs6000_override_options (default_cpu)
*** 745,750 ****
--- 750,757 ----
  	rs6000_float_gprs = 0;
        if (rs6000_isel_string == 0)
  	rs6000_isel = 0;
+       if (rs6000_long_double_size_string == 0)
+ 	rs6000_long_double_type_size = 64;
      }

/* Handle -m(no-)longcall option. This is a bit of a cheap hack,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]