From a596f4970ededd424328f7789b4a304e5b3a7338 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 25 Oct 2017 09:59:39 +0000 Subject: [PATCH] re PR tree-optimization/82436 (465.tonto ICE in vect_get_slp_vect_defs, at tree-vect-slp.c:3410) 2017-10-25 Richard Biener PR tree-optimization/82436 * gcc.dg/torture/pr82436-2.c: New testcase. From-SVN: r254073 --- gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gcc.dg/torture/pr82436-2.c | 45 ++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/torture/pr82436-2.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 63f9de27945..0e38439e12b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-10-25 Richard Biener + + PR tree-optimization/82436 + * gcc.dg/torture/pr82436-2.c: New testcase. + 2017-10-25 Paolo Carlini PR c++/71820 diff --git a/gcc/testsuite/gcc.dg/torture/pr82436-2.c b/gcc/testsuite/gcc.dg/torture/pr82436-2.c new file mode 100644 index 00000000000..32eda186ff0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr82436-2.c @@ -0,0 +1,45 @@ +/* { dg-do compile } */ + +enum +{ + a, b, c, d, e, f, g, h, j, k +}; + +int l; +void m (short *s) +{ + short n, o, p; + float(*q)[k]; + int r, i; + while (l > 0) + r = l; + for (;;) + { + i = 0; + for (; i < r; i++) + { + { + float ab = q[i][a]; + int i = ab; + p = i; + } + ((short *) s)[0] = p; + { + float ab = q[i][b]; + int i = ab; + o = i; + } + ((short *) s)[1] = o; + { + float ab = q[i][f]; + int i = ab; + n = i; + } + ((short *) s)[2] = n; + float ab = q[i][g]; + int i = ab; + ((short *) s)[3] = i; + s = (short *) s + 4; + } + } +} -- 2.30.2