if self.c_expression is None:
return None
- if self.num_operands == 1:
- if horizontal_operation in self.flags and non_assign_operation in self.flags:
+ if horizontal_operation in self.flags:
+ if non_assign_operation in self.flags:
return constant_template_horizontal_nonassignment.render(op=self)
- elif horizontal_operation in self.flags:
+ elif types_identical_operation in self.flags:
+ return constant_template_horizontal_single_implementation.render(op=self)
+ else:
return constant_template_horizontal.render(op=self)
- elif self.num_operands == 2:
+
+ if self.num_operands == 2:
if self.name == "mul":
return constant_template_mul.render(op=self)
elif self.name == "vector_extract":
return constant_template_vector_extract.render(op=self)
elif vector_scalar_operation in self.flags:
return constant_template_vector_scalar.render(op=self)
- elif horizontal_operation in self.flags and types_identical_operation in self.flags:
- return constant_template_horizontal_single_implementation.render(op=self)
- elif horizontal_operation in self.flags:
- return constant_template_horizontal.render(op=self)
elif self.num_operands == 3:
if self.name == "vector_insert":
return constant_template_vector_insert.render(op=self)