https://gcc.gnu.org/g:e20ced2cb83c015ad1f934957002a2874b6f7c93

commit r15-4726-ge20ced2cb83c015ad1f934957002a2874b6f7c93
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Mon Oct 28 13:29:58 2024 -0700

    testcase: Add testcase for PR 117330 [PR117330]
    
    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>

Diff:
---
 gcc/testsuite/gcc.dg/torture/pr117330-1.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

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 000000000000..262624864bb0
--- /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];
+  }
+}

Reply via email to