Commit 28b02c60 by Uros Bizjak Committed by Uros Bizjak

re PR middle-end/30667 (ICE in immed_double_const, at emit-rtl.c:468)

        PR middle-end/30667
        * combine.c (try_combine): Do not substitute source operand
        with constants wider than 2 * HOST_BITS_PER_WIDE_INT.

testsuite/ChangeLog:

        PR middle-end/30667
        * gfortran.dg/pr30667.f: New test.

From-SVN: r121555
parent 3855c807
2007-02-03 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/30667
* combine.c (try_combine): Do not substitute source operand
with constants wider than 2 * HOST_BITS_PER_WIDE_INT.
2007-02-03 Jan Hubicka <jh@suse.cz> 2007-02-03 Jan Hubicka <jh@suse.cz>
PR gcov-profile/30650 PR gcov-profile/30650
......
...@@ -2003,7 +2003,9 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) ...@@ -2003,7 +2003,9 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
offset = -1; offset = -1;
} }
if (offset >= 0) if (offset >= 0
&& (GET_MODE_BITSIZE (GET_MODE (SET_DEST (temp)))
<= HOST_BITS_PER_WIDE_INT * 2))
{ {
HOST_WIDE_INT mhi, ohi, ihi; HOST_WIDE_INT mhi, ohi, ihi;
HOST_WIDE_INT mlo, olo, ilo; HOST_WIDE_INT mlo, olo, ilo;
......
2007-02-03 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/30667
* gfortran.dg/pr30667.f: New test.
2007-02-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2007-02-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/builtins-54.c: Add more cases. * gcc.dg/builtins-54.c: Add more cases.
! { dg-do compile { target i?86-*-* x86_64-*-* } }
! { dg-require-effective-target ilp32 }
! { dg-options "-O2 -msse -ftree-vectorize" }
subroutine cblank_cvb(a,ndim)
character*(*) a
character*1 blank
data blank/' '/
do 100 i=1,ndim
100 a(i:i)=blank
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment