Issue |
120906
|
Summary |
[X86][SDAG] llc hang with constant vector splats
|
Labels |
backend:X86,
llvm:hang,
llvm:SelectionDAG
|
Assignees |
|
Reporter |
dtcxzyw
|
Reproducer: https://godbolt.org/z/PnsfYrfnf
```
; bin/llc test.ll -o -
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define i32 @test(ptr %p) {
entry:
store i32 564341309, ptr %p, align 4
%0 = load i32, ptr %p, align 4
%broadcast.splatinsert.1 = insertelement <4 x i32> zeroinitializer, i32 %0, i64 0
%broadcast.splat.1 = shufflevector <4 x i32> %broadcast.splatinsert.1, <4 x i32> zeroinitializer, <4 x i32> zeroinitializer
%1 = icmp ugt <4 x i32> %broadcast.splat.1, splat (i32 -9)
%2 = zext <4 x i1> %1 to <4 x i8>
%3 = shl <4 x i8> splat (i8 11), %2
%4 = or <4 x i8> %3, splat (i8 11)
%bin.rdx = zext <4 x i8> %4 to <4 x i32>
%5 = tail call i32 @llvm.vector.reduce.or.v4i32(<4 x i32> %bin.rdx)
ret i32 %5
}
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs