1; RUN: llc -march=hexagon < %s | FileCheck %s 2; REQUIRES: asserts 3 4; This testcase used to crash due to putting the bitsplit instruction in a 5; wrong place. 6; CHECK: bitsplit 7 8target triple = "hexagon" 9 10define fastcc i32 @fred(i32 %a0, i8* %a1, i1 %a2, i1 %a3) #0 { 11b1: 12 %v2 = lshr i32 %a0, 16 13 %v3 = trunc i32 %v2 to i8 14 br i1 %a2, label %b6, label %b4 15 16b4: ; preds = %b1 17 %v5 = and i32 %a0, 65535 18 br i1 %a3, label %b8, label %b9 19 20b6: ; preds = %b1 21 %v7 = and i32 %a0, 65535 22 br label %b9 23 24b8: ; preds = %b4 25 store i8 %v3, i8* %a1, align 2 26 ret i32 1 27 28b9: ; preds = %b6, %b4 29 %v10 = phi i32 [ %v7, %b6 ], [ %v5, %b4 ] 30 ret i32 %v10 31} 32 33attributes #0 = { nounwind optsize "target-cpu"="hexagonv60" "target-features"="-hvx,-long-calls" } 34