diff options
author | Tejas Belagod <tejas.belagod@arm.com> | 2010-10-07 17:07:21 +0100 |
---|---|---|
committer | Tejas Belagod <belagod@gcc.gnu.org> | 2010-10-07 17:07:21 +0100 |
commit | d163c4f7574e7c330444bd999c02d9ffe05d18f6 (patch) | |
tree | bc93bcf782cb0c5a2f979fe613d89bfe41563ada /gcc | |
parent | 7f27ec08affc8092e9b417f8b1fbd07e3b2d7637 (diff) | |
download | gcc-d163c4f7574e7c330444bd999c02d9ffe05d18f6.zip gcc-d163c4f7574e7c330444bd999c02d9ffe05d18f6.tar.gz gcc-d163c4f7574e7c330444bd999c02d9ffe05d18f6.tar.bz2 |
tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL check for vectype_out returned by get_vectype_for_scalar_type().
gcc/
2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
check for vectype_out returned by get_vectype_for_scalar_type().
testsuite/
2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
* gcc.dg/vect/pr45847.c: New test.
From-SVN: r165123
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/pr45847.c | 15 | ||||
-rw-r--r-- | gcc/tree-vect-patterns.c | 1 |
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d088f60..017b196 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2010-10-07 Tejas Belagod <tejas.belagod@arm.com> + * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL + check for vectype_out returned by get_vectype_for_scalar_type(). + +2010-10-07 Tejas Belagod <tejas.belagod@arm.com> + * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to constraint, add register specifier in instruction template. (neon_vec_pack_trunc_<mode>): Likewise. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c78a2f3..1a3380e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-10-07 Tejas Belagod <tejas.belagod@arm.com> + + * gcc.dg/vect/pr45847.c: New test. + 2010-10-07 Iain Sandoe <iains@gcc.gnu.org> Kai Tietz <kai.tietz@onevision.com> diff --git a/gcc/testsuite/gcc.dg/vect/pr45847.c b/gcc/testsuite/gcc.dg/vect/pr45847.c new file mode 100644 index 0000000..f34caa1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/pr45847.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ + + +long long foo (long long *__restrict a, int *__restrict b, int *__restrict c ) +{ + int i; + long long sum=0; + for (i=0;i<256;i++) + sum += (long long)b[i] * c[i]; + + return sum; +} + +/* { dg-final { cleanup-tree-dump "vect" } } */ + diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 0d5824c..ebe00d62 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -413,6 +413,7 @@ vect_recog_widen_mult_pattern (gimple last_stmt, vectype = get_vectype_for_scalar_type (half_type0); vectype_out = get_vectype_for_scalar_type (type); if (!vectype + || !vectype_out || !supportable_widening_operation (WIDEN_MULT_EXPR, last_stmt, vectype_out, vectype, &dummy, &dummy, &dummy_code, |