[PATCH] D115750: [SLP]Further improvement of the cost model for scalars used in buildvectors.

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 14 11:05:43 PDT 2022


aeubanks added a comment.

another one :)

  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
  target triple = "x86_64-unknown-linux-android23"
  
  %0 = type { float, float, float, float }
  
  define internal void @0() {
    %1 = getelementptr inbounds %0, ptr undef, i64 0, i32 2
    %2 = load float, ptr %1, align 4
    %3 = load float, ptr undef, align 4
    %4 = fsub float %2, %3
    %5 = getelementptr inbounds %0, ptr undef, i64 0, i32 3
    %6 = load float, ptr %5, align 4
    %7 = getelementptr inbounds %0, ptr undef, i64 0, i32 1
    %8 = load float, ptr %7, align 4
    %9 = fsub float %6, %8
    %10 = fcmp olt float %9, %4
    %.sroa.0.0.vec.insert.i5.i10 = insertelement <2 x float> undef, float %3, i64 0
    %.sroa.0.4.vec.insert.i10.i13 = insertelement <2 x float> %.sroa.0.0.vec.insert.i5.i10, float %8, i64 1
    store <2 x float> %.sroa.0.4.vec.insert.i10.i13, ptr null, align 4
    %.sroa.0.4.vec.insert.i10.i13.2 = insertelement <2 x float> %.sroa.0.0.vec.insert.i5.i10, float %6, i64 1
    store <2 x float> %.sroa.0.4.vec.insert.i10.i13.2, ptr null, align 4
    ret void
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115750/new/

https://reviews.llvm.org/D115750



More information about the llvm-commits mailing list