From 5cee4dedc1b31652853fabfb87d82ee6a18161df Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Fri, 8 Feb 2019 16:08:29 +0100
Subject: [PATCH] Fix in vectorization when directly storing constants

---
 backends/cbackend.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/backends/cbackend.py b/backends/cbackend.py
index 80f07557d..a11ef1305 100644
--- a/backends/cbackend.py
+++ b/backends/cbackend.py
@@ -164,8 +164,14 @@ class CBackend:
                 if aligned:
                     instr = 'stream' if nontemporal else 'storeA'
 
+                rhs_type = get_type_of_expression(node.rhs)
+                if type(rhs_type) is not VectorType:
+                    rhs = cast_func(node.rhs, VectorType(rhs_type))
+                else:
+                    rhs = node.rhs
+
                 return self._vectorInstructionSet[instr].format("&" + self.sympy_printer.doprint(node.lhs.args[0]),
-                                                                self.sympy_printer.doprint(node.rhs)) + ';'
+                                                                self.sympy_printer.doprint(rhs)) + ';'
             else:
                 return "%s = %s;" % (self.sympy_printer.doprint(node.lhs), self.sympy_printer.doprint(node.rhs))
 
-- 
GitLab