diff options
| author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-03 23:39:31 +0000 |
|---|---|---|
| committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-03 23:39:31 +0000 |
| commit | 676806d4955ddb24ce02411fbca3ee0f80241ba6 (patch) | |
| tree | b33caba003687bed5a02b864dbe384a31e271908 | |
| parent | 553eb299aadfe54096cf60a3331eb520e169e0f6 (diff) | |
| download | ppe42-gcc-676806d4955ddb24ce02411fbca3ee0f80241ba6.tar.gz ppe42-gcc-676806d4955ddb24ce02411fbca3ee0f80241ba6.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121555 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/combine.c | 4 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/pr30667.f | 10 |
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d8ee26993cd..fbf14560fd3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/combine.c b/gcc/combine.c index aa1e2ce2034..6605b7a3558 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -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; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7ec593780d2..2193c956386 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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. diff --git a/gcc/testsuite/gfortran.dg/pr30667.f b/gcc/testsuite/gfortran.dg/pr30667.f new file mode 100644 index 00000000000..0f1af29d1f9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr30667.f @@ -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 |

