diff mbox series

tree-optimization/115764 - testcase for BB SLP issue

Message ID 20240703071626.62F913860765@sourceware.org
State New
Headers show
Series tree-optimization/115764 - testcase for BB SLP issue | expand

Commit Message

Richard Biener July 3, 2024, 7:16 a.m. UTC
The following adds a testcase for a CSE issue with BB SLP two operator
handling when we make those CSE aware by providing SLP_TREE_SCALAR_STMTS
for them.  This was reduced from 526.blender_r.

Tested on x86_64-unknown-linux-gnu, pushed.

	PR tree-optimization/115764
	* gcc.dg/vect/bb-slp-76.c: New testcase.
---
 gcc/testsuite/gcc.dg/vect/bb-slp-76.c | 30 +++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 gcc/testsuite/gcc.dg/vect/bb-slp-76.c
diff mbox series

Patch

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-76.c b/gcc/testsuite/gcc.dg/vect/bb-slp-76.c
new file mode 100644
index 00000000000..b3b6a58e7c7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-76.c
@@ -0,0 +1,30 @@ 
+/* { dg-do compile } */
+/* { dg-additional-options "-ffast-math" } */
+
+typedef struct {
+  float xmin, xmax;
+} rctf;
+int U_0;
+float BLI_rctf_size_x_rct_1, view_zoomdrag_apply_dx;
+void *view_zoomdrag_apply_op_0;
+float RNA_float_get();
+typedef struct {
+  rctf cur;
+} View2D;
+typedef struct {
+  View2D v2d;
+} v2dViewZoomData;
+void view_zoomdrag_apply() {
+  v2dViewZoomData *vzd = view_zoomdrag_apply_op_0;
+  View2D *v2d = &vzd->v2d;
+  view_zoomdrag_apply_dx = RNA_float_get();
+  if (U_0) {
+    float mval_fac = BLI_rctf_size_x_rct_1, mval_faci = mval_fac,
+          ofs = mval_faci * view_zoomdrag_apply_dx;
+    v2d->cur.xmin += ofs + view_zoomdrag_apply_dx;
+    v2d->cur.xmax += ofs - view_zoomdrag_apply_dx;
+  } else {
+    v2d->cur.xmin += view_zoomdrag_apply_dx;
+    v2d->cur.xmax -= view_zoomdrag_apply_dx;
+  }
+}