1 ; RUN: llc -march=hexagon < %s | FileCheck %s
3 ; Check that this compiles successfully. Used to crash with "cannot select
7 target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
8 target triple = "hexagon"
10 ; Function Attrs: nounwind
11 define i32 @fred() #0 {
15 b1: ; preds = %b1, %b0
16 %v2 = xor <16 x i8> undef, undef
17 %v3 = icmp eq i32 undef, undef
18 br i1 %v3, label %b4, label %b1
21 %v5 = xor <16 x i8> %v2, zeroinitializer
22 %v6 = xor <16 x i8> %v5, zeroinitializer
23 %v7 = xor <16 x i8> %v6, zeroinitializer
24 %v8 = xor <16 x i8> %v7, zeroinitializer
25 %v9 = shufflevector <16 x i8> %v8, <16 x i8> undef, <16 x i32> <i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
26 %v10 = xor <16 x i8> %v8, %v9
27 %v11 = extractelement <16 x i8> %v10, i32 0
28 br i1 undef, label %b14, label %b12
31 %v13 = xor i8 undef, %v11
34 b14: ; preds = %b12, %b4
35 %v15 = phi i8 [ %v11, %b4 ], [ %v13, %b12 ]
36 %v16 = zext i8 %v15 to i32
40 attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvx-length64b,+hvxv60" }