DAGCombiner_illegal_BUILD_VECTOR.ll 1.08 KB
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s
;
; Check that DAGCombiner does not crash after producing an illegal
; BUILD_VECTOR node.


define void @pr32422(double %a0) {
; CHECK-LABEL: pr32422:
; CHECK:       # %bb.0: # %BB
; CHECK-NEXT:  .LBB0_1: # %CF
; CHECK-NEXT:    # =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    cdbr %f0, %f0
; CHECK-NEXT:    jo .LBB0_1
; CHECK-NEXT:  # %bb.2: # %CF353
; CHECK-NEXT:    br %r14
BB:
  %I = insertelement <8 x i8> zeroinitializer, i8 -95, i32 3
  %I8 = insertelement <8 x i8> zeroinitializer, i8 -119, i32 2
  %FC = uitofp <8 x i8> %I8 to <8 x float>
  %Cmp18 = fcmp uno <8 x float> zeroinitializer, %FC
  %I22 = insertelement <8 x i1> %Cmp18, i1 true, i32 5
  br label %CF

CF:                                               ; preds = %CF, %BB
  %Cmp40 = fcmp uno double 0xC663C682E9619F00, %a0
  br i1 %Cmp40, label %CF, label %CF353

CF353:                                            ; preds = %CF
  %E195 = extractelement <8 x i1> %I22, i32 4
  ret void
}