From d163c4f7574e7c330444bd999c02d9ffe05d18f6 Mon Sep 17 00:00:00 2001 From: Tejas Belagod Date: Thu, 7 Oct 2010 17:07:21 +0100 Subject: [PATCH] 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 * 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 * gcc.dg/vect/pr45847.c: New test. From-SVN: r165123 --- gcc/ChangeLog | 5 +++++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/vect/pr45847.c | 15 +++++++++++++++ gcc/tree-vect-patterns.c | 1 + 4 files changed, 25 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/vect/pr45847.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d088f60ccc69..017b196fd130 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-10-07 Tejas Belagod + + * 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 * config/arm/neon.md (neon_unpack_): Add 'w' to diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c78a2f315835..1a3380ee91bc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-10-07 Tejas Belagod + + * gcc.dg/vect/pr45847.c: New test. + 2010-10-07 Iain Sandoe Kai Tietz diff --git a/gcc/testsuite/gcc.dg/vect/pr45847.c b/gcc/testsuite/gcc.dg/vect/pr45847.c new file mode 100644 index 000000000000..f34caa1d0e5d --- /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 0d5824c97737..ebe00d6210d3 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, -- 2.43.5