Skip to main content

Module vectorize

Module vectorize 

Source
Expand description

§Auto-Vectorization Pass

This module implements auto-vectorization for Loop IR, transforming scalar operations to SIMD operations based on loop analysis.

§M3 Exit Criteria

  • matmul microkernel auto-vectorizes on x86_64 and aarch64
  • SIMD intrinsics: add, mul, fmadd, hadd

§Vectorization Strategy

  1. Analyze loops: Identify vectorizable innermost loops
  2. Check access patterns: Sequential access enables vectorization
  3. Transform operations: Scalar → Vector operations
  4. Handle remainder: Scalar loop for non-aligned elements

Structs§

VectorizationInfo
Result of vectorization analysis for a loop.
VectorizeConfig
Configuration for vectorization.
VectorizePass
Vectorization pass state.
VectorizeReport
Report of vectorization results.
VectorizedLoopInfo
Information about a vectorized loop.

Enums§

SimdIntrinsic
SIMD intrinsic operations.
VectorizeError
Errors that can occur during vectorization.