From 008e5b83b11ed59ddc0584a7797432ae60a3d403 Mon Sep 17 00:00:00 2001
From: Markus Holzer <markus.holzer@fau.de>
Date: Wed, 9 Feb 2022 16:22:35 +0100
Subject: [PATCH] Fix sve512

---
 pystencils/backends/cbackend.py        | 7 +++++--
 pystencils_tests/test_vectorization.py | 3 ++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index ad2fd4b7..42503a8e 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -673,8 +673,11 @@ class VectorizedCustomSympyPrinter(CustomSympyPrinter):
             instruction = self.instruction_set['loadA'] if aligned else self.instruction_set['loadU']
             return instruction.format(f"& {self._print(arg)}", **self._kwargs)
         elif expr.func == DivFunc:
-            return self.instruction_set['/'].format(self._print(expr.divisor), self._print(expr.dividend),
-                                                    **self._kwargs)
+            result = self._scalarFallback('_print_Function', expr)
+            if not result:
+                result = self.instruction_set['/'].format(self._print(expr.divisor), self._print(expr.dividend),
+                                                          **self._kwargs)
+            return result
         elif expr.func == fast_division:
             result = self._scalarFallback('_print_Function', expr)
             if not result:
diff --git a/pystencils_tests/test_vectorization.py b/pystencils_tests/test_vectorization.py
index c058691b..fbf5044e 100644
--- a/pystencils_tests/test_vectorization.py
+++ b/pystencils_tests/test_vectorization.py
@@ -185,7 +185,8 @@ def test_piecewise2(instruction_set=instruction_set):
     np.testing.assert_equal(arr, np.ones_like(arr))
 
 
-def test_piecewise3(instruction_set=instruction_set):
+def test_piecewise3():
+    instruction_set = "sve512"
     arr = np.zeros((22, 22))
 
     @ps.kernel
-- 
GitLab