1; RUN: llc -march=hexagon < %s | FileCheck %s 2 3; Check that this compiles successfully. Used to crash with "cannot select 4; v8i8 = vsplat ..." 5; CHECK: jumpr r31 6 7target 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" 8target triple = "hexagon" 9 10; Function Attrs: nounwind 11define i32 @fred() #0 { 12b0: 13 br label %b1 14 15b1: ; 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 19 20b4: ; preds = %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 29 30b12: ; preds = %b4 31 %v13 = xor i8 undef, %v11 32 br label %b14 33 34b14: ; preds = %b12, %b4 35 %v15 = phi i8 [ %v11, %b4 ], [ %v13, %b12 ] 36 %v16 = zext i8 %v15 to i32 37 ret i32 %v16 38} 39 40attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvx-length64b,+hvxv60" } 41