This testcase was causing an ICE during vectorization
due to r15-4695-gd17e672ce82e69 but was fixed with
r15-4713-g0942bb85fc5573.

Pushed as obvious after a quick test on x86_64-linux-gnu to
make sure the testcase passes.

        PR tree-optimization/117330

gcc/testsuite/ChangeLog:

        * gcc.dg/torture/pr117330-1.c: New test.

Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
---
 gcc/testsuite/gcc.dg/torture/pr117330-1.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 gcc/testsuite/gcc.dg/torture/pr117330-1.c

diff --git a/gcc/testsuite/gcc.dg/torture/pr117330-1.c 
b/gcc/testsuite/gcc.dg/torture/pr117330-1.c
new file mode 100644
index 00000000000..262624864bb
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr117330-1.c
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+
+/* This used to ICE during vectorization
+   dealing with the removal of comparisons inside COND_EXPR. */
+/* PR tree-optimization/117330 */
+
+
+enum psi_states {
+  PSI_IO_NONE,
+  PSI_IO_ONE,
+  PSI_IO_TWO,
+};
+void f(unsigned *times,
+       unsigned *times1,
+       unsigned state_mask) {
+  enum psi_states s;
+  for (s = 0; s < 2; s++) {
+    if (state_mask & (1 << s))
+      times[s] += 1;
+    times[s] = times[s] - times1[s];
+  }
+}
-- 
2.43.0

Reply via email to