public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Use cmp_return_mode for fp libcall compare modes and set up the two  mode new attributes for SPU
@ 2007-07-27  4:59 Andrew_Pinski
  2007-08-13 18:25 ` Andrew Pinski
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew_Pinski @ 2007-07-27  4:59 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 986 bytes --]

Hi,
  When http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02034.html went in, it 
had missed that fp/dfp compares where done in a different function than 
prepare_cmp_insn so the word mode was still being used.  This patch fixes 
that problem up and makes the spu set up the two mode attributes to SImode 
(spu-elf's word mode is TImode but TImode is not very efficient on SPU).

OK? Bootstrapped and tested on powerpc64-linux-gnu with no regressions and 
built for spu-elf with no regressions and a couple of the ieee/fp-cmp* 
tests now pass.

Thanks,
Andrew Pinski

ChangeLog:

        * optabs.c (prepare_float_lib_cmp): Use
        libgcc_cmp_return_mode instead of word_mode.
        * config/dfp-bit.h: Likewise.
        * config/fp-bit.h: Likewise.
        * config/spu/spu.c (spu_libgcc_cmp_return_mode):
        New function.
        (spu_libgcc_shift_count_mode): New function.
        (TARGET_LIBGCC_CMP_RETURN_MODE): Define.
        (TARGET_LIBGCC_SHIFT_COUNT_MODE): Define.


[-- Attachment #2: fixspufpcmp.diff.txt --]
[-- Type: text/plain, Size: 4870 bytes --]

Index: optabs.c
===================================================================
--- optabs.c	(revision 126865)
+++ optabs.c	(working copy)
@@ -4117,10 +4117,11 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
   rtx x = *px;
   rtx y = *py;
   enum machine_mode orig_mode = GET_MODE (x);
-  enum machine_mode mode;
+  enum machine_mode mode, cmp_mode;
   rtx value, target, insns, equiv;
   rtx libfunc = 0;
   bool reversed_p = false;
+  cmp_mode = targetm.libgcc_cmp_return_mode ();
 
   for (mode = orig_mode;
        mode != VOIDmode;
@@ -4159,14 +4160,14 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
      condition can be determined at compile-time.  */
   if (comparison == UNORDERED)
     {
-      rtx temp = simplify_gen_relational (NE, word_mode, mode, x, x);
-      equiv = simplify_gen_relational (NE, word_mode, mode, y, y);
-      equiv = simplify_gen_ternary (IF_THEN_ELSE, word_mode, word_mode,
+      rtx temp = simplify_gen_relational (NE, cmp_mode, mode, x, x);
+      equiv = simplify_gen_relational (NE, cmp_mode, mode, y, y);
+      equiv = simplify_gen_ternary (IF_THEN_ELSE, cmp_mode, cmp_mode,
 				    temp, const_true_rtx, equiv);
     }
   else
     {
-      equiv = simplify_gen_relational (comparison, word_mode, mode, x, y);
+      equiv = simplify_gen_relational (comparison, cmp_mode, mode, x, y);
       if (! FLOAT_LIB_COMPARE_RETURNS_BOOL (mode, comparison))
 	{
 	  rtx true_rtx, false_rtx;
@@ -4206,18 +4207,18 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
 	    default:
 	      gcc_unreachable ();
 	    }
-	  equiv = simplify_gen_ternary (IF_THEN_ELSE, word_mode, word_mode,
+	  equiv = simplify_gen_ternary (IF_THEN_ELSE, cmp_mode, cmp_mode,
 					equiv, true_rtx, false_rtx);
 	}
     }
 
   start_sequence ();
   value = emit_library_call_value (libfunc, NULL_RTX, LCT_CONST,
-				   word_mode, 2, x, mode, y, mode);
+				   cmp_mode, 2, x, mode, y, mode);
   insns = get_insns ();
   end_sequence ();
 
-  target = gen_reg_rtx (word_mode);
+  target = gen_reg_rtx (cmp_mode);
   emit_libcall_block (insns, target, value, equiv);
 
   if (comparison == UNORDERED
@@ -4226,7 +4227,7 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
 
   *px = target;
   *py = const0_rtx;
-  *pmode = word_mode;
+  *pmode = cmp_mode;
   *pcomparison = comparison;
   *punsignedp = 0;
 }
Index: config/dfp-bit.h
===================================================================
--- config/dfp-bit.h	(revision 126865)
+++ config/dfp-bit.h	(working copy)
@@ -454,9 +454,9 @@ typedef unsigned int USItype __attribute
 typedef unsigned int UDItype __attribute__ ((mode (DI)));
 
 /* The type of the result of a decimal float comparison.  This must
-   match `word_mode' in GCC for the target.  */
+   match `__libgcc_cmp_return__' in GCC for the target.  */
 
-typedef int CMPtype __attribute__ ((mode (word)));
+typedef int CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
 
 /* Prototypes.  */
 
Index: config/fp-bit.h
===================================================================
--- config/fp-bit.h	(revision 126865)
+++ config/fp-bit.h	(working copy)
@@ -108,9 +108,9 @@ typedef int TItype __attribute__ ((mode 
 #endif
 
 /* The type of the result of a floating point comparison.  This must
-   match `word_mode' in GCC for the target.  */
+   match `__libgcc_cmp_return__' in GCC for the target.  */
 #ifndef CMPtype
-typedef int CMPtype __attribute__ ((mode (word)));
+typedef int CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
 #endif
 
 typedef unsigned int UHItype __attribute__ ((mode (HI)));
Index: config/spu/spu.c
===================================================================
--- config/spu/spu.c	(revision 126865)
+++ config/spu/spu.c	(working copy)
@@ -174,6 +174,12 @@ static int cpat_info(unsigned char *arr,
 static enum immediate_class classify_immediate (rtx op,
 						enum machine_mode mode);
 
+static enum machine_mode
+spu_libgcc_cmp_return_mode (void);
+
+static enum machine_mode
+spu_libgcc_shift_count_mode (void);
+
 /* Built in types.  */
 tree spu_builtin_types[SPU_BTI_MAX];
 \f
@@ -272,6 +278,12 @@ const struct attribute_spec spu_attribut
 #undef TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST
 #define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST spu_builtin_vectorization_cost
 
+#undef TARGET_LIBGCC_CMP_RETURN_MODE
+#define TARGET_LIBGCC_CMP_RETURN_MODE spu_libgcc_cmp_return_mode
+
+#undef TARGET_LIBGCC_SHIFT_COUNT_MODE
+#define TARGET_LIBGCC_SHIFT_COUNT_MODE spu_libgcc_shift_count_mode
+
 struct gcc_target targetm = TARGET_INITIALIZER;
 
 void
@@ -5485,4 +5497,17 @@ spu_init_expanders (void)
    * expanding the prologue. */
   if (cfun)
     REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 8;
-}       
+}
+
+
+static enum machine_mode
+spu_libgcc_cmp_return_mode (void)
+{
+  return SImode;
+}
+
+static enum machine_mode
+spu_libgcc_shift_count_mode (void)
+{
+  return SImode;
+}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Use cmp_return_mode for fp libcall compare modes and set up the two mode new attributes for SPU
  2007-07-27  4:59 [PATCH] Use cmp_return_mode for fp libcall compare modes and set up the two mode new attributes for SPU Andrew_Pinski
@ 2007-08-13 18:25 ` Andrew Pinski
  2007-08-28 20:03   ` Andrew Pinski
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Pinski @ 2007-08-13 18:25 UTC (permalink / raw)
  To: Andrew_Pinski; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 1129 bytes --]

Ping?

On 7/26/07, Andrew_Pinski@playstation.sony.com
<Andrew_Pinski@playstation.sony.com> wrote:
> Hi,
>   When http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02034.html went in, it
> had missed that fp/dfp compares where done in a different function than
> prepare_cmp_insn so the word mode was still being used.  This patch fixes
> that problem up and makes the spu set up the two mode attributes to SImode
> (spu-elf's word mode is TImode but TImode is not very efficient on SPU).
>
> OK? Bootstrapped and tested on powerpc64-linux-gnu with no regressions and
> built for spu-elf with no regressions and a couple of the ieee/fp-cmp*
> tests now pass.
>
> Thanks,
> Andrew Pinski
>
> ChangeLog:
>
>         * optabs.c (prepare_float_lib_cmp): Use
>         libgcc_cmp_return_mode instead of word_mode.
>         * config/dfp-bit.h: Likewise.
>         * config/fp-bit.h: Likewise.
>         * config/spu/spu.c (spu_libgcc_cmp_return_mode):
>         New function.
>         (spu_libgcc_shift_count_mode): New function.
>         (TARGET_LIBGCC_CMP_RETURN_MODE): Define.
>         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Define.
>
>
>

[-- Attachment #2: fixspufpcmp.diff.txt --]
[-- Type: text/plain, Size: 4870 bytes --]

Index: optabs.c
===================================================================
--- optabs.c	(revision 126865)
+++ optabs.c	(working copy)
@@ -4117,10 +4117,11 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
   rtx x = *px;
   rtx y = *py;
   enum machine_mode orig_mode = GET_MODE (x);
-  enum machine_mode mode;
+  enum machine_mode mode, cmp_mode;
   rtx value, target, insns, equiv;
   rtx libfunc = 0;
   bool reversed_p = false;
+  cmp_mode = targetm.libgcc_cmp_return_mode ();
 
   for (mode = orig_mode;
        mode != VOIDmode;
@@ -4159,14 +4160,14 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
      condition can be determined at compile-time.  */
   if (comparison == UNORDERED)
     {
-      rtx temp = simplify_gen_relational (NE, word_mode, mode, x, x);
-      equiv = simplify_gen_relational (NE, word_mode, mode, y, y);
-      equiv = simplify_gen_ternary (IF_THEN_ELSE, word_mode, word_mode,
+      rtx temp = simplify_gen_relational (NE, cmp_mode, mode, x, x);
+      equiv = simplify_gen_relational (NE, cmp_mode, mode, y, y);
+      equiv = simplify_gen_ternary (IF_THEN_ELSE, cmp_mode, cmp_mode,
 				    temp, const_true_rtx, equiv);
     }
   else
     {
-      equiv = simplify_gen_relational (comparison, word_mode, mode, x, y);
+      equiv = simplify_gen_relational (comparison, cmp_mode, mode, x, y);
       if (! FLOAT_LIB_COMPARE_RETURNS_BOOL (mode, comparison))
 	{
 	  rtx true_rtx, false_rtx;
@@ -4206,18 +4207,18 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
 	    default:
 	      gcc_unreachable ();
 	    }
-	  equiv = simplify_gen_ternary (IF_THEN_ELSE, word_mode, word_mode,
+	  equiv = simplify_gen_ternary (IF_THEN_ELSE, cmp_mode, cmp_mode,
 					equiv, true_rtx, false_rtx);
 	}
     }
 
   start_sequence ();
   value = emit_library_call_value (libfunc, NULL_RTX, LCT_CONST,
-				   word_mode, 2, x, mode, y, mode);
+				   cmp_mode, 2, x, mode, y, mode);
   insns = get_insns ();
   end_sequence ();
 
-  target = gen_reg_rtx (word_mode);
+  target = gen_reg_rtx (cmp_mode);
   emit_libcall_block (insns, target, value, equiv);
 
   if (comparison == UNORDERED
@@ -4226,7 +4227,7 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
 
   *px = target;
   *py = const0_rtx;
-  *pmode = word_mode;
+  *pmode = cmp_mode;
   *pcomparison = comparison;
   *punsignedp = 0;
 }
Index: config/dfp-bit.h
===================================================================
--- config/dfp-bit.h	(revision 126865)
+++ config/dfp-bit.h	(working copy)
@@ -454,9 +454,9 @@ typedef unsigned int USItype __attribute
 typedef unsigned int UDItype __attribute__ ((mode (DI)));
 
 /* The type of the result of a decimal float comparison.  This must
-   match `word_mode' in GCC for the target.  */
+   match `__libgcc_cmp_return__' in GCC for the target.  */
 
-typedef int CMPtype __attribute__ ((mode (word)));
+typedef int CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
 
 /* Prototypes.  */
 
Index: config/fp-bit.h
===================================================================
--- config/fp-bit.h	(revision 126865)
+++ config/fp-bit.h	(working copy)
@@ -108,9 +108,9 @@ typedef int TItype __attribute__ ((mode 
 #endif
 
 /* The type of the result of a floating point comparison.  This must
-   match `word_mode' in GCC for the target.  */
+   match `__libgcc_cmp_return__' in GCC for the target.  */
 #ifndef CMPtype
-typedef int CMPtype __attribute__ ((mode (word)));
+typedef int CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
 #endif
 
 typedef unsigned int UHItype __attribute__ ((mode (HI)));
Index: config/spu/spu.c
===================================================================
--- config/spu/spu.c	(revision 126865)
+++ config/spu/spu.c	(working copy)
@@ -174,6 +174,12 @@ static int cpat_info(unsigned char *arr,
 static enum immediate_class classify_immediate (rtx op,
 						enum machine_mode mode);
 
+static enum machine_mode
+spu_libgcc_cmp_return_mode (void);
+
+static enum machine_mode
+spu_libgcc_shift_count_mode (void);
+
 /* Built in types.  */
 tree spu_builtin_types[SPU_BTI_MAX];
 \f
@@ -272,6 +278,12 @@ const struct attribute_spec spu_attribut
 #undef TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST
 #define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST spu_builtin_vectorization_cost
 
+#undef TARGET_LIBGCC_CMP_RETURN_MODE
+#define TARGET_LIBGCC_CMP_RETURN_MODE spu_libgcc_cmp_return_mode
+
+#undef TARGET_LIBGCC_SHIFT_COUNT_MODE
+#define TARGET_LIBGCC_SHIFT_COUNT_MODE spu_libgcc_shift_count_mode
+
 struct gcc_target targetm = TARGET_INITIALIZER;
 
 void
@@ -5485,4 +5497,17 @@ spu_init_expanders (void)
    * expanding the prologue. */
   if (cfun)
     REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 8;
-}       
+}
+
+
+static enum machine_mode
+spu_libgcc_cmp_return_mode (void)
+{
+  return SImode;
+}
+
+static enum machine_mode
+spu_libgcc_shift_count_mode (void)
+{
+  return SImode;
+}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Use cmp_return_mode for fp libcall compare modes and set up the two mode new attributes for SPU
  2007-08-13 18:25 ` Andrew Pinski
@ 2007-08-28 20:03   ` Andrew Pinski
  2007-08-31  2:16     ` Mark Mitchell
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Pinski @ 2007-08-28 20:03 UTC (permalink / raw)
  To: Andrew_Pinski; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]

Ping?

On 8/13/07, Andrew Pinski <pinskia@gmail.com> wrote:
> Ping?
>
> On 7/26/07, Andrew_Pinski@playstation.sony.com
> <Andrew_Pinski@playstation.sony.com> wrote:
> > Hi,
> >   When http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02034.html went in, it
> > had missed that fp/dfp compares where done in a different function than
> > prepare_cmp_insn so the word mode was still being used.  This patch fixes
> > that problem up and makes the spu set up the two mode attributes to SImode
> > (spu-elf's word mode is TImode but TImode is not very efficient on SPU).
> >
> > OK? Bootstrapped and tested on powerpc64-linux-gnu with no regressions and
> > built for spu-elf with no regressions and a couple of the ieee/fp-cmp*
> > tests now pass.
> >
> > Thanks,
> > Andrew Pinski
> >
> > ChangeLog:
> >
> >         * optabs.c (prepare_float_lib_cmp): Use
> >         libgcc_cmp_return_mode instead of word_mode.
> >         * config/dfp-bit.h: Likewise.
> >         * config/fp-bit.h: Likewise.
> >         * config/spu/spu.c (spu_libgcc_cmp_return_mode):
> >         New function.
> >         (spu_libgcc_shift_count_mode): New function.
> >         (TARGET_LIBGCC_CMP_RETURN_MODE): Define.
> >         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Define.
> >
> >
> >
>
>

[-- Attachment #2: fixspufpcmp.diff.txt --]
[-- Type: text/plain, Size: 4870 bytes --]

Index: optabs.c
===================================================================
--- optabs.c	(revision 126865)
+++ optabs.c	(working copy)
@@ -4117,10 +4117,11 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
   rtx x = *px;
   rtx y = *py;
   enum machine_mode orig_mode = GET_MODE (x);
-  enum machine_mode mode;
+  enum machine_mode mode, cmp_mode;
   rtx value, target, insns, equiv;
   rtx libfunc = 0;
   bool reversed_p = false;
+  cmp_mode = targetm.libgcc_cmp_return_mode ();
 
   for (mode = orig_mode;
        mode != VOIDmode;
@@ -4159,14 +4160,14 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
      condition can be determined at compile-time.  */
   if (comparison == UNORDERED)
     {
-      rtx temp = simplify_gen_relational (NE, word_mode, mode, x, x);
-      equiv = simplify_gen_relational (NE, word_mode, mode, y, y);
-      equiv = simplify_gen_ternary (IF_THEN_ELSE, word_mode, word_mode,
+      rtx temp = simplify_gen_relational (NE, cmp_mode, mode, x, x);
+      equiv = simplify_gen_relational (NE, cmp_mode, mode, y, y);
+      equiv = simplify_gen_ternary (IF_THEN_ELSE, cmp_mode, cmp_mode,
 				    temp, const_true_rtx, equiv);
     }
   else
     {
-      equiv = simplify_gen_relational (comparison, word_mode, mode, x, y);
+      equiv = simplify_gen_relational (comparison, cmp_mode, mode, x, y);
       if (! FLOAT_LIB_COMPARE_RETURNS_BOOL (mode, comparison))
 	{
 	  rtx true_rtx, false_rtx;
@@ -4206,18 +4207,18 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
 	    default:
 	      gcc_unreachable ();
 	    }
-	  equiv = simplify_gen_ternary (IF_THEN_ELSE, word_mode, word_mode,
+	  equiv = simplify_gen_ternary (IF_THEN_ELSE, cmp_mode, cmp_mode,
 					equiv, true_rtx, false_rtx);
 	}
     }
 
   start_sequence ();
   value = emit_library_call_value (libfunc, NULL_RTX, LCT_CONST,
-				   word_mode, 2, x, mode, y, mode);
+				   cmp_mode, 2, x, mode, y, mode);
   insns = get_insns ();
   end_sequence ();
 
-  target = gen_reg_rtx (word_mode);
+  target = gen_reg_rtx (cmp_mode);
   emit_libcall_block (insns, target, value, equiv);
 
   if (comparison == UNORDERED
@@ -4226,7 +4227,7 @@ prepare_float_lib_cmp (rtx *px, rtx *py,
 
   *px = target;
   *py = const0_rtx;
-  *pmode = word_mode;
+  *pmode = cmp_mode;
   *pcomparison = comparison;
   *punsignedp = 0;
 }
Index: config/dfp-bit.h
===================================================================
--- config/dfp-bit.h	(revision 126865)
+++ config/dfp-bit.h	(working copy)
@@ -454,9 +454,9 @@ typedef unsigned int USItype __attribute
 typedef unsigned int UDItype __attribute__ ((mode (DI)));
 
 /* The type of the result of a decimal float comparison.  This must
-   match `word_mode' in GCC for the target.  */
+   match `__libgcc_cmp_return__' in GCC for the target.  */
 
-typedef int CMPtype __attribute__ ((mode (word)));
+typedef int CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
 
 /* Prototypes.  */
 
Index: config/fp-bit.h
===================================================================
--- config/fp-bit.h	(revision 126865)
+++ config/fp-bit.h	(working copy)
@@ -108,9 +108,9 @@ typedef int TItype __attribute__ ((mode 
 #endif
 
 /* The type of the result of a floating point comparison.  This must
-   match `word_mode' in GCC for the target.  */
+   match `__libgcc_cmp_return__' in GCC for the target.  */
 #ifndef CMPtype
-typedef int CMPtype __attribute__ ((mode (word)));
+typedef int CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
 #endif
 
 typedef unsigned int UHItype __attribute__ ((mode (HI)));
Index: config/spu/spu.c
===================================================================
--- config/spu/spu.c	(revision 126865)
+++ config/spu/spu.c	(working copy)
@@ -174,6 +174,12 @@ static int cpat_info(unsigned char *arr,
 static enum immediate_class classify_immediate (rtx op,
 						enum machine_mode mode);
 
+static enum machine_mode
+spu_libgcc_cmp_return_mode (void);
+
+static enum machine_mode
+spu_libgcc_shift_count_mode (void);
+
 /* Built in types.  */
 tree spu_builtin_types[SPU_BTI_MAX];
 \f
@@ -272,6 +278,12 @@ const struct attribute_spec spu_attribut
 #undef TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST
 #define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST spu_builtin_vectorization_cost
 
+#undef TARGET_LIBGCC_CMP_RETURN_MODE
+#define TARGET_LIBGCC_CMP_RETURN_MODE spu_libgcc_cmp_return_mode
+
+#undef TARGET_LIBGCC_SHIFT_COUNT_MODE
+#define TARGET_LIBGCC_SHIFT_COUNT_MODE spu_libgcc_shift_count_mode
+
 struct gcc_target targetm = TARGET_INITIALIZER;
 
 void
@@ -5485,4 +5497,17 @@ spu_init_expanders (void)
    * expanding the prologue. */
   if (cfun)
     REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 8;
-}       
+}
+
+
+static enum machine_mode
+spu_libgcc_cmp_return_mode (void)
+{
+  return SImode;
+}
+
+static enum machine_mode
+spu_libgcc_shift_count_mode (void)
+{
+  return SImode;
+}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Use cmp_return_mode for fp libcall compare modes and  set up the two mode new attributes for SPU
  2007-08-28 20:03   ` Andrew Pinski
@ 2007-08-31  2:16     ` Mark Mitchell
  0 siblings, 0 replies; 4+ messages in thread
From: Mark Mitchell @ 2007-08-31  2:16 UTC (permalink / raw)
  To: Andrew Pinski; +Cc: Andrew_Pinski, gcc-patches

Andrew Pinski wrote:
> Ping?

>>> ChangeLog:
>>>
>>>         * optabs.c (prepare_float_lib_cmp): Use
>>>         libgcc_cmp_return_mode instead of word_mode.
>>>         * config/dfp-bit.h: Likewise.
>>>         * config/fp-bit.h: Likewise.
>>>         * config/spu/spu.c (spu_libgcc_cmp_return_mode):
>>>         New function.
>>>         (spu_libgcc_shift_count_mode): New function.
>>>         (TARGET_LIBGCC_CMP_RETURN_MODE): Define.
>>>         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Define.

OK.

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-08-31  2:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-27  4:59 [PATCH] Use cmp_return_mode for fp libcall compare modes and set up the two mode new attributes for SPU Andrew_Pinski
2007-08-13 18:25 ` Andrew Pinski
2007-08-28 20:03   ` Andrew Pinski
2007-08-31  2:16     ` Mark Mitchell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).