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]

fix alpha glibc build failure


I didn't manage to reduce the test case, but it was one of
the libm functions that does a lot of int/float union frobbing.


r~


        * combine.c (force_to_mode): Handle FLOAT_MODE destinations
        for CONST_INT.

Index: combine.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/combine.c,v
retrieving revision 1.319
diff -c -p -d -r1.319 combine.c
*** combine.c	29 Sep 2002 13:16:42 -0000	1.319
--- combine.c	29 Sep 2002 19:51:32 -0000
*************** force_to_mode (x, mode, mask, reg, just_
*** 6817,6828 ****
  
    /* If none of the bits in X are needed, return a zero.  */
    if (! just_select && (nonzero & mask) == 0)
!     return const0_rtx;
  
    /* If X is a CONST_INT, return a new one.  Do this here since the
       test below will fail.  */
    if (GET_CODE (x) == CONST_INT)
!     return gen_int_mode (INTVAL (x) & mask, mode);
  
    /* If X is narrower than MODE and we want all the bits in X's mode, just
       get X in the proper mode.  */
--- 6817,6836 ----
  
    /* If none of the bits in X are needed, return a zero.  */
    if (! just_select && (nonzero & mask) == 0)
!     x = const0_rtx;
  
    /* If X is a CONST_INT, return a new one.  Do this here since the
       test below will fail.  */
    if (GET_CODE (x) == CONST_INT)
!     {
!       if (SCALAR_INT_MODE_P (mode))
!         return gen_int_mode (INTVAL (x) & mask, mode);
!       else
! 	{
! 	  x = GEN_INT (INTVAL (x) & mask);
! 	  return gen_lowpart_common (mode, x);
! 	}
!     }
  
    /* If X is narrower than MODE and we want all the bits in X's mode, just
       get X in the proper mode.  */


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