diff --git a/pystencils/cpu/vectorization.py b/pystencils/cpu/vectorization.py index c1362d3453b8213caa7c43aa202f3d20592ea391..0fcd32fdab86042507fd1ff85fcd75f92a61c025 100644 --- a/pystencils/cpu/vectorization.py +++ b/pystencils/cpu/vectorization.py @@ -321,7 +321,10 @@ def insert_vector_casts(ast_node, instruction_set, default_float_type='double'): return sp.Piecewise(*[(r, c) for r, c in zip(casted_results, casted_conditions)]) elif isinstance(expr, TypedSymbol): - return CastFunc(expr, VectorType(expr.dtype, instruction_set['width'])) + if isinstance(expr.dtype, BasicType): + return CastFunc(expr, VectorType(expr.dtype, instruction_set['width'])) + else: + return expr elif isinstance(expr, (sp.Number, BooleanAtom)): return expr else: