47 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; Check that we generate 'cmph.gtu' instruction.4; CHECK-LABEL: @cmphgtu5; CHECK: cmph.gtu6 7@glob = common global i8 0, align 18 9define i32 @cmphgtu(i32 %a0, i32 %a1) #0 {10b2:11 %v3 = xor i32 %a1, %a012 %v4 = and i32 %v3, 6553513 %v5 = icmp ugt i32 %v4, 4014 br i1 %v5, label %b6, label %b815 16b6: ; preds = %b217 %v7 = trunc i32 %a0 to i818 store i8 %v7, ptr @glob, align 119 br label %b820 21b8: ; preds = %b6, %b222 %v9 = phi i32 [ 1, %b6 ], [ 0, %b2 ]23 ret i32 %v924}25 26; With zxtb, we must not generate a cmph.gtu instruction.27; CHECK-LABEL: @nocmphgtu28; CHECK-NOT: cmph.gtu29define i32 @nocmphgtu(i32 %a0, i32 %a1) #0 {30b2:31 %v3 = xor i32 %a1, %a032 %v4 = and i32 %v3, 25533 %v5 = icmp ugt i32 %v4, 4034 br i1 %v5, label %b6, label %b835 36b6: ; preds = %b237 %v7 = trunc i32 %a0 to i838 store i8 %v7, ptr @glob, align 139 br label %b840 41b8: ; preds = %b6, %b242 %v9 = phi i32 [ 1, %b6 ], [ 0, %b2 ]43 ret i32 %v944}45 46attributes #0 = { nounwind }47