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]

Re: Patch to eliminate alpha.c warnings


 > From: Richard Henderson <rth@redhat.com>
 > 
 > Hum.  This is all kinda silly, really.  That constant is
 > constm1_rtx.  No need to call immed_double_const at all.
 > r~

Will do.  How about 0x8000000000000000? :-)


2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* alpha.c (alpha_expand_unaligned_store,
	alpha_expand_unaligned_store_words): Use constm1_rtx in place of
	call to immed_double_const.

	* alpha.md: Use INTTYPE_MINIMUM in lieu of 0x8000000000000000.

diff -rup orig/egcc-CVS20011206/gcc/config/alpha/alpha.c egcc-CVS20011206/gcc/config/alpha/alpha.c
--- orig/egcc-CVS20011206/gcc/config/alpha/alpha.c	Thu Dec  6 07:30:21 2001
+++ egcc-CVS20011206/gcc/config/alpha/alpha.c	Thu Dec  6 23:54:13 2001
@@ -3628,7 +3628,7 @@ alpha_expand_unaligned_store (dst, src, 
 #if HOST_BITS_PER_WIDE_INT == 32
 	    rtx msk = immed_double_const (0xffffffff, 0xffffffff, DImode);
 #else
-	    rtx msk = immed_double_const (0xffffffffffffffff, 0, DImode);
+	    rtx msk = constm1_rtx;
 #endif
 	    emit_insn (gen_mskxl_be (dsth, dsth, msk, addr));
 	  }
@@ -3675,7 +3675,7 @@ alpha_expand_unaligned_store (dst, src, 
 #if HOST_BITS_PER_WIDE_INT == 32
 	    rtx msk = immed_double_const (0xffffffff, 0xffffffff, DImode);
 #else
-	    rtx msk = immed_double_const (0xffffffffffffffff, 0, DImode);
+	    rtx msk = constm1_rtx;
 #endif
 	    emit_insn (gen_mskxl_le (dstl, dstl, msk, addr));
 	  }
@@ -3807,7 +3807,7 @@ alpha_expand_unaligned_store_words (data
 #if HOST_BITS_PER_WIDE_INT == 32
   rtx const im1 = immed_double_const (0xffffffff, 0xffffffff, DImode);
 #else
-  rtx const im1 = immed_double_const (0xffffffffffffffff, 0, DImode);
+  rtx const im1 = constm1_rtx;
 #endif
   rtx ins_tmps[MAX_MOVE_WORDS];
   rtx st_tmp_1, st_tmp_2, dreg;
diff -rup orig/egcc-CVS20011206/gcc/config/alpha/alpha.md egcc-CVS20011206/gcc/config/alpha/alpha.md
--- orig/egcc-CVS20011206/gcc/config/alpha/alpha.md	Thu Nov 29 07:30:39 2001
+++ egcc-CVS20011206/gcc/config/alpha/alpha.md	Thu Dec  6 23:59:31 2001
@@ -2296,7 +2296,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi
   "TARGET_HAS_XFLOATING_LIBS"
 {
 #if HOST_BITS_PER_WIDE_INT >= 64
-  operands[2] = force_reg (DImode, GEN_INT (0x8000000000000000));
+  operands[2] = force_reg (DImode, GEN_INT (INTTYPE_MINIMUM (HOST_WIDE_INT)));
 #else
   operands[2] = force_reg (DImode, immed_double_const (0, 0x80000000, DImode));
 #endif
@@ -2333,7 +2333,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi
   "TARGET_HAS_XFLOATING_LIBS"
 {
 #if HOST_BITS_PER_WIDE_INT >= 64
-  operands[2] = force_reg (DImode, GEN_INT (0x8000000000000000));
+  operands[2] = force_reg (DImode, GEN_INT (INTTYPE_MINIMUM (HOST_WIDE_INT)));
 #else
   operands[2] = force_reg (DImode, immed_double_const (0, 0x80000000, DImode));
 #endif


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