brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · f38e65a Raw
44 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2; Check that we generate compare to predicate register.3 4define i32 @compare1(i32 %a, i32 %b) nounwind {5; CHECK: p{{[0-3]}} = {{!?}}cmp.eq(r{{[0-9]+}},r{{[0-9]+}})6entry:7  %cmp = icmp ne i32 %a, %b8  %add = add nsw i32 %a, %b9  %sub = sub nsw i32 %a, %b10  %add.sub = select i1 %cmp, i32 %add, i32 %sub11  ret i32 %add.sub12}13 14define i32 @compare2(i32 %a) nounwind {15; CHECK: p{{[0-3]}} = {{!?}}cmp.eq(r{{[0-9]+}},#10)16entry:17  %cmp = icmp ne i32 %a, 1018  %add = add nsw i32 %a, 1019  %sub = sub nsw i32 %a, 1020  %add.sub = select i1 %cmp, i32 %add, i32 %sub21  ret i32 %add.sub22}23 24define i32 @compare3(i32 %a, i32 %b) nounwind {25; CHECK: p{{[0-3]}} = cmp.gt(r{{[0-9]+}},r{{[0-9]+}})26entry:27  %cmp = icmp sgt i32 %a, %b28  %sub = sub nsw i32 %a, %b29  %add = add nsw i32 %a, %b30  %sub.add = select i1 %cmp, i32 %sub, i32 %add31  ret i32 %sub.add32}33 34define i32 @compare4(i32 %a) nounwind {35; CHECK: p{{[0-3]}} = cmp.gt(r{{[0-9]+}},#10)36entry:37  %cmp = icmp sgt i32 %a, 1038  %sub = sub nsw i32 %a, 1039  %add = add nsw i32 %a, 1040  %sub.add = select i1 %cmp, i32 %sub, i32 %add41  ret i32 %sub.add42}43 44