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
This commit is contained in:
parent
3855c807ce
commit
28b02c6064
4 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
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>
|
||||
|
||||
PR gcov-profile/30650
|
||||
|
|
|
@ -2003,7 +2003,9 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
|
|||
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 mlo, olo, ilo;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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>
|
||||
|
||||
* gcc.dg/builtins-54.c: Add more cases.
|
||||
|
|
10
gcc/testsuite/gfortran.dg/pr30667.f
Normal file
10
gcc/testsuite/gfortran.dg/pr30667.f
Normal file
|
@ -0,0 +1,10 @@
|
|||
! { 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
|
Loading…
Add table
Reference in a new issue