1; RUN: llc -mcpu=hexagonv4 -tail-dup-size=1 < %s | FileCheck %s 2 3target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-v64:64:64-v32:32:32-a0:0-n16:32" 4target triple = "hexagon-unknown--elf" 5 6; Make sure we put the two conditionally executed adds in a packet. 7; ifcnv_add: 8; { 9; p0 = cmp.gt(r2, r1) 10; if (!p0.new) r0 = add(r2, r1) 11; if (p0.new) r0 = add(r0, #10) 12; } 13; CHECK: cmp 14; CHECK-NEXT: add 15; CHECK-NEXT: add 16define i32 @ifcnv_add(i32, i32, i32) nounwind readnone { 17 %4 = icmp sgt i32 %2, %1 18 br i1 %4, label %5, label %7 19 20; <label>:5 ; preds = %3 21 %6 = add nsw i32 %0, 10 22 br label %9 23 24; <label>:7 ; preds = %3 25 %8 = add nsw i32 %2, %1 26 br label %9 27 28; <label>:9 ; preds = %7, %5 29 %10 = phi i32 [ %6, %5 ], [ %8, %7 ] 30 %11 = add nsw i32 %10, 1 31 ret i32 %11 32} 33