brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 23a3307 Raw
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