This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Allow CDCE on m68k
- From: Andreas Schwab <schwab at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 14 Sep 2008 19:58:27 +0200
- Subject: Allow CDCE on m68k
Like the MIPS counterparts the Motorola floating point formats only
differ in the representation of NaN.
Tested on m68k-linux and committed as obvious.
Andreas.
2008-09-14 Andreas Schwab <schwab@suse.de>
* tree-call-cdce.c (check_target_format): Accept Motorola formats.
Index: gcc/tree-call-cdce.c
===================================================================
--- gcc/tree-call-cdce.c (revision 140360)
+++ gcc/tree-call-cdce.c (working copy)
@@ -141,9 +141,11 @@ check_target_format (tree arg)
mode = TYPE_MODE (type);
rfmt = REAL_MODE_FORMAT (mode);
if ((mode == SFmode
- && (rfmt == &ieee_single_format || rfmt == &mips_single_format))
+ && (rfmt == &ieee_single_format || rfmt == &mips_single_format
+ || rfmt == &motorola_single_format))
|| (mode == DFmode
- && (rfmt == &ieee_double_format || rfmt == &mips_double_format))
+ && (rfmt == &ieee_double_format || rfmt == &mips_double_format
+ || rfmt == &motorola_double_format))
/* For long double, we can not really check XFmode
which is only defined on intel platforms.
Candidate pre-selection using builtin function
@@ -152,6 +154,7 @@ check_target_format (tree arg)
|| (mode != SFmode && mode != DFmode
&& (rfmt == &ieee_quad_format
|| rfmt == &mips_quad_format
+ || rfmt == &ieee_extended_motorola_format
|| rfmt == &ieee_extended_intel_96_format
|| rfmt == &ieee_extended_intel_128_format
|| rfmt == &ieee_extended_intel_96_round_53_format)))
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."