diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2005-06-01 01:07:25 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2005-05-31 23:07:25 +0000 |
commit | 60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a (patch) | |
tree | 73f806204342b65cfc56e80c487c1fc421798933 /gcc | |
parent | ec22e73ba8b0c57e65fb72522603fe7555123010 (diff) | |
download | gcc-60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a.zip gcc-60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a.tar.gz gcc-60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a.tar.bz2 |
re PR tree-optimization/21817 (ICE in for_each_index, at tree-ssa-loop-im.c:200)
PR tree-optimization/21817
* tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST.
From-SVN: r100410
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr21817-1.c | 12 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 1 |
4 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bb29e7c..9887402 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-05-31 Zdenek Dvorak <dvorakz@suse.cz> + + PR tree-optimization/21817 + * tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST. + 2005-05-31 Pat Haugen <pthaugen@us.ibm.com> * loop.c (loop_invariant_p, valid_initial_value_p): Revert last diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3d27673..7e75d30 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-05-31 Zdenek Dvorak <dvorakz@suse.cz> + + PR tree-optimization/21817 + * gcc.dg/torture/pr21817-1.c: New. + 2005-05-31 Nathan Sidwell <nathan@codesourcery.com> PR c++/21165 diff --git a/gcc/testsuite/gcc.dg/torture/pr21817-1.c b/gcc/testsuite/gcc.dg/torture/pr21817-1.c new file mode 100644 index 0000000..524c798 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr21817-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ + +typedef float v4sf __attribute__((vector_size(16))); +v4sf value; +void foo(void) +{ + unsigned int band; + for(band=0; band < 2; band++) + { + value += (v4sf){1e9f,1e9f,1e9f,1e9f}; + } +} diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 99dab7e..dc9002f 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -201,6 +201,7 @@ for_each_index (tree *addr_p, bool (*cbck) (tree, tree *, void *), void *data) case PARM_DECL: case STRING_CST: case RESULT_DECL: + case VECTOR_CST: return true; default: |