34 lines · plain
1; RUN: llc -mtriple=hexagon -O2 -hexagon-expand-condsets=0 -hexagon-initial-cfg-cleanup=0 < %s | FileCheck %s2 3; CHECK: mux4; CHECK: cmp{{.*\.new}}5 6target triple = "hexagon"7 8; Function Attrs: nounwind9define i32 @f0(i32 %a0, i32 %a1, i32 %a2) #0 {10b0:11 %v0 = icmp ne i32 %a0, 012 %v1 = add nsw i32 %a2, -113 %v2 = select i1 %v0, i32 10, i32 %v114 %v3 = icmp eq i32 %v2, %a215 br i1 %v3, label %b1, label %b216 17b1: ; preds = %b018 %v4 = shl nsw i32 %a2, 119 %v5 = tail call i32 @f1(i32 %v4) #020 br label %b321 22b2: ; preds = %b023 %v6 = tail call i32 @f1(i32 %a0) #024 br label %b325 26b3: ; preds = %b2, %b127 %v7 = phi i32 [ %v5, %b1 ], [ %v6, %b2 ]28 ret i32 %v729}30 31declare i32 @f1(i32)32 33attributes #0 = { nounwind }34