[PATCH] D129537: [X86][DAGISel] Don't widen shuffle element with AVX512

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 28 07:28:28 PDT 2022


fhahn added a comment.

This patch unfortunately causes crashes when building `llvm-test-suite` optimizing for AVX512.

Reproducer for `llc`:

  target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
  target triple = "x86_64-apple-macosx"
  
  define i32 @test(<32 x i32> %0) #0 {
  entry:
    %1 = mul <32 x i32> %0, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
    %2 = tail call i32 @llvm.vector.reduce.add.v32i32(<32 x i32> %1)
    ret i32 %2
  }
  
  ; Function Attrs: nocallback nofree nosync nounwind readnone willreturn
  declare i32 @llvm.vector.reduce.add.v32i32(<32 x i32>) #1
  
  attributes #0 = { "min-legal-vector-width"="0" "target-cpu"="skylake-avx512" }
  attributes #1 = { nocallback nofree nosync nounwind readnone willreturn }

I've reverted the patch in the meantime to get current `main` back into a good state.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129537



More information about the llvm-commits mailing list