xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2012-12-12-DAGCombineCrash.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=x86 -mtriple=i686-apple-ios -mcpu=yonah < %s
2*9880d681SAndroid Build Coastguard Worker; rdar://12868039
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @t() nounwind ssp {
5*9880d681SAndroid Build Coastguard Worker  %1 = alloca i32
6*9880d681SAndroid Build Coastguard Worker  %2 = ptrtoint i32* %1 to i32
7*9880d681SAndroid Build Coastguard Worker  br label %3
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker; <label>:3                                       ; preds = %5, %3, %0
10*9880d681SAndroid Build Coastguard Worker  switch i32 undef, label %3 [
11*9880d681SAndroid Build Coastguard Worker    i32 611946160, label %5
12*9880d681SAndroid Build Coastguard Worker    i32 954117870, label %4
13*9880d681SAndroid Build Coastguard Worker  ]
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker; <label>:4                                       ; preds = %3
16*9880d681SAndroid Build Coastguard Worker  ret void
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker; <label>:5                                       ; preds = %5, %3
19*9880d681SAndroid Build Coastguard Worker  %6 = add i32 0, 148
20*9880d681SAndroid Build Coastguard Worker  %7 = and i32 %6, 48
21*9880d681SAndroid Build Coastguard Worker  %8 = add i32 %7, 0
22*9880d681SAndroid Build Coastguard Worker  %9 = or i32 %2, %8
23*9880d681SAndroid Build Coastguard Worker  %10 = xor i32 -1, %2
24*9880d681SAndroid Build Coastguard Worker  %11 = or i32 %8, %10
25*9880d681SAndroid Build Coastguard Worker  %12 = or i32 %9, %11
26*9880d681SAndroid Build Coastguard Worker  %13 = xor i32 %9, %11
27*9880d681SAndroid Build Coastguard Worker  %14 = sub i32 %12, %13
28*9880d681SAndroid Build Coastguard Worker  %15 = xor i32 2044674005, %14
29*9880d681SAndroid Build Coastguard Worker  %16 = xor i32 %15, 0
30*9880d681SAndroid Build Coastguard Worker  %17 = shl nuw nsw i32 %16, 1
31*9880d681SAndroid Build Coastguard Worker  %18 = sub i32 0, %17
32*9880d681SAndroid Build Coastguard Worker  %19 = and i32 %18, 2051242402
33*9880d681SAndroid Build Coastguard Worker  %20 = sub i32 0, %19
34*9880d681SAndroid Build Coastguard Worker  %21 = xor i32 %20, 0
35*9880d681SAndroid Build Coastguard Worker  %22 = xor i32 %21, 0
36*9880d681SAndroid Build Coastguard Worker  %23 = add i32 0, %22
37*9880d681SAndroid Build Coastguard Worker  %24 = shl i32 %23, 1
38*9880d681SAndroid Build Coastguard Worker  %25 = or i32 1, %24
39*9880d681SAndroid Build Coastguard Worker  %26 = add i32 0, %25
40*9880d681SAndroid Build Coastguard Worker  %27 = trunc i32 %26 to i8
41*9880d681SAndroid Build Coastguard Worker  %28 = xor i8 %27, 125
42*9880d681SAndroid Build Coastguard Worker  %29 = add i8 %28, -16
43*9880d681SAndroid Build Coastguard Worker  %30 = add i8 0, %29
44*9880d681SAndroid Build Coastguard Worker  store i8 %30, i8* null
45*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %5, label %3
46*9880d681SAndroid Build Coastguard Worker}
47