aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-10-12 10:37:17 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-10-12 10:37:17 +0200
commit6d3bf8498df74204a3cb0a74481634313d892fd6 (patch)
tree9b3315ec9294785693c2e914f816a352e4806dfc /gcc/testsuite/gcc.dg
parent900461f31ff4f7678b6818b8719b7db7e5f44951 (diff)
downloadgcc-6d3bf8498df74204a3cb0a74481634313d892fd6.zip
gcc-6d3bf8498df74204a3cb0a74481634313d892fd6.tar.gz
gcc-6d3bf8498df74204a3cb0a74481634313d892fd6.tar.bz2
re PR tree-optimization/33742 (Segfault in vectorizable_operation)
PR tree-optimization/33742 * tree-vect-transform.c (vectorizable_operation): Return false if get_vectype_for_scalar_type for scalar_dest can't be determined. (vectorizable_call): Same for rhs_type and lhs_type. testsuite/ChangeLog: PR tree-optimization/33742 * gcc.dg/pr33742.c: New testcase. From-SVN: r129255
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r--gcc/testsuite/gcc.dg/pr33742.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr33742.c b/gcc/testsuite/gcc.dg/pr33742.c
new file mode 100644
index 0000000..b905d9d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr33742.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-vectorize" } */
+
+typedef unsigned short ush;
+extern ush prev[];
+
+void fill_window ()
+{
+ register unsigned n, m;
+
+ for (n = 0; n < 32768; n++)
+ {
+ m = prev[n];
+ prev[n] = (ush) (m >= 0x8000 ? m - 0x8000 : 0);
+ }
+}