This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch to eliminate alpha.c warnings
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- To: rth at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 7 Dec 2001 00:11:09 -0500 (EST)
- Subject: 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