|
| 1 | +; XFAIL: * |
| 2 | +; RUN: llc %s --mattr=+complxnum -o - | FileCheck %s |
| 3 | + |
| 4 | +target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-ni:1-p2:32:8:8:32-ni:2" |
| 5 | +target triple = "aarch64-none-linux-gnu" |
| 6 | + |
| 7 | +; Check that deinterleaving pass doesn't generate broken IR |
| 8 | +define void @check_deinterleave_crash() #0 { |
| 9 | +bb: |
| 10 | + br label %bb173 |
| 11 | + |
| 12 | +bb173: ; preds = %bb173, %bb |
| 13 | + %phi177 = phi <2 x i32> [ %add190, %bb173 ], [ zeroinitializer, %bb ] |
| 14 | + %phi178 = phi <2 x i32> [ %add187, %bb173 ], [ zeroinitializer, %bb ] |
| 15 | + %add185 = add <2 x i32> %phi178, <i32 1, i32 1> |
| 16 | + %add186 = add <2 x i32> %phi177, <i32 1, i32 1> |
| 17 | + %shufflevector = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> zeroinitializer |
| 18 | + %add187 = add <2 x i32> %add185, %shufflevector |
| 19 | + %shufflevector189 = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> zeroinitializer |
| 20 | + %add190 = add <2 x i32> %add186, %shufflevector189 |
| 21 | + br i1 poison, label %bb193, label %bb173 |
| 22 | + |
| 23 | +bb193: ; preds = %bb173 |
| 24 | + %add194 = or <2 x i32> %add190, %add187 |
| 25 | + store volatile i32 0, ptr null, align 4 |
| 26 | + unreachable |
| 27 | +} |
0 commit comments