Skip to content

Various extensions to the vectorizer

Daniel Bauer requested to merge hyteg/pystencils:bauerd/vec-extensions into v2.0-dev

Includes additions to the AstVectorizer:

  • Vectorize assignments to vector symbols
  • Vectorize loops nested within the vectorization axis if all bounds are independent of the axis
  • Vectorize array subscripts if all indices and the array expression are independent of the axis
  • Handle empty nodes (e.g. comments)

Additions to the x86 instruction set:

  • Intrinsics for basic math functions (log, abs, etc.)
  • Type conversions

And to the SelectIntrinsics pass:

  • Add option to implemenet type conversions using __builtin_convertvector which is supported by most compilers instead of inserting intrinsics. Useful because not all conversions are supported natively on all CPUs.

Merge request reports