[PATCH] D131042: Revert "[X86][DAGISel] Don't widen shuffle element with AVX512"

LuoYuanke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 19:48:14 PDT 2022


LuoYuanke created this revision.
Herald added subscribers: pengfei, hiraditya.
Herald added a project: All.
LuoYuanke requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This reverts commit 5fb41342105700949c81f68aefc85d9c46e9a1a6 <https://reviews.llvm.org/rG5fb41342105700949c81f68aefc85d9c46e9a1a6>.

This patch is causing crashes when building llvm-test-suite when
optimizing for CPUs with AVX512.

Reproducer crashing with 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 }


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D131042

Files:
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/avx512-shuffles/shuffle-blend.ll
  llvm/test/CodeGen/X86/combine-sdiv.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131042.449518.patch
Type: text/x-patch
Size: 9032 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220803/2919b296/attachment.bin>


More information about the llvm-commits mailing list