[all-commits] [llvm/llvm-project] 7f2040: [CodeGen] Add support for Splats in ComplexDeinter...

Igor Kirillov via All-commits all-commits at lists.llvm.org
Wed Jul 5 10:03:37 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7f20407ceed8e713c5f193a2598358332b5ac0d3
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2023-07-05 (Wed, 05 Jul 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll

  Log Message:
  [CodeGen] Add support for Splats in ComplexDeinterleaving pass

This commit allows generating of complex number intrinsics for expressions
with constants or loops invariants, which are represented as splats.
For instance, after vectorizing loops in the following code snippets,
the ComplexDeinterleaving pass will be able to generate complex number

complex<> x = ...;
for (int i = 0; i < N; ++i)
    c[i] = a[i] * b[i] * x;


for (int i = 0; i < N; ++i)
    c[i] = a[i] * b[i] * (11.0 + 3.0i);

Differential Revision: https://reviews.llvm.org/D153355

More information about the All-commits mailing list