diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py index ad2fd4b7522394c74ae66f7895fdd32769f528f1..42503a8ef4100549a32bcc41fb36f94bb351b765 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 c058691b7fa471e32e0334e561b90a2465ad56cb..fbf5044e0792417844ad2ba3dd5376590d5fd0c4 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