aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch')
-rw-r--r--toolchain-layer/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch63
1 files changed, 0 insertions, 63 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch
deleted file mode 100644
index cbe12303e8..0000000000
--- a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/gcc-scalar-widening-pr45847.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Hi,
-
-The attached patch fixes Bugzilla 45847
-(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45847). When compiling
-without -mvectorize-with-neon-quad and vectorizing scalar widening
-operations that widen words to double words, there are no corresponding
-vector types for DI scalar types. For this scenario, a call to
-get_vect_type_for_scalar_type() returns NULL and an absent NULL-check
-caused this segfault. The attached patch adds this NULL-check. Also,
-this is consistent with all the other places where a NULL-check follows
-a call to get_vect_type_for_scalar_type() in tree-vect-patterns.c.
-
-Regression tested with arm-linux-gnueabi. OK?
-
---
-Tejas Belagod
-ARM.
-
-gcc/
-
-2010-10-05 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-05 Tejas Belagod <tejas.belagod@arm.com>
-
- * gcc.dg/vect/pr45847.c: New test.
-
-Index: gcc-4.5/gcc/testsuite/gcc.dg/vect/pr45847.c
-===================================================================
---- /dev/null
-+++ gcc-4.5/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" } } */
-+
-Index: gcc-4.5/gcc/tree-vect-patterns.c
-===================================================================
---- gcc-4.5.orig/gcc/tree-vect-patterns.c
-+++ gcc-4.5/gcc/tree-vect-patterns.c
-@@ -411,6 +411,7 @@ vect_recog_widen_mult_pattern (gimple la
- /* Check target support */
- vectype = get_vectype_for_scalar_type (half_type0);
- if (!vectype
-+ || !get_vectype_for_scalar_type (type)
- || !supportable_widening_operation (WIDEN_MULT_EXPR, last_stmt, vectype,
- &dummy, &dummy, &dummy_code,
- &dummy_code, &dummy_int, &dummy_vec))