brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 8b52c00 Raw
73 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2;3; Bug 6714. Use sign-extend to promote the arguments for compare4; equal/not-equal for 8- and 16-bit types with negative constants.5 6; CHECK: cmp.eq{{.*}}#-167define i32 @foo1(i16 signext %q) nounwind readnone {8entry:9  %not.cmp = icmp ne i16 %q, -1610  %res.0 = zext i1 %not.cmp to i3211  ret i32 %res.012}13 14; CHECK: cmp.eq{{.*}}#-1415define i32 @foo2(i16 signext %q) nounwind readnone {16entry:17  %cmp = icmp eq i16 %q, -1418  %res.0 = select i1 %cmp, i32 2, i32 019  ret i32 %res.020}21 22; CHECK: cmp.eq{{.*}}#-823define i32 @foo3(i8 signext %r) nounwind readnone {24entry:25  %cmp = icmp eq i8 %r, -826  %res.0 = select i1 %cmp, i32 0, i32 327  ret i32 %res.028}29 30; CHECK: cmp.eq{{.*}}#-631define i32 @foo4(i8 signext %r) nounwind readnone {32entry:33  %cmp = icmp eq i8 %r, -634  %res.0 = select i1 %cmp, i32 4, i32 035  ret i32 %res.036}37 38; CHECK: cmp.eq{{.*}}#-2039define i32 @foo5(i32 %s) nounwind readnone {40entry:41  %cmp = icmp eq i32 %s, -2042  %res.0 = select i1 %cmp, i32 0, i32 543  ret i32 %res.044}45 46; CHECK: cmp.eq{{.*}}#-1847define i32 @foo6(i32 %s) nounwind readnone {48entry:49  %cmp = icmp eq i32 %s, -1850  %res.0 = select i1 %cmp, i32 6, i32 051  ret i32 %res.052}53 54; CHECK: cmp.eq{{.*}}#1055define i32 @foo7(i16 signext %q) nounwind readnone {56entry:57  %cmp = icmp eq i16 %q, 1058  %res.0 = select i1 %cmp, i32 7, i32 059  ret i32 %res.060}61 62@g = external global i1663 64; CHECK: cmp.eq{{.*}}#-1265define i32 @foo8() nounwind readonly {66entry:67  %0 = load i16, ptr @g, align 268  %cmp = icmp eq i16 %0, -1269  %res.0 = select i1 %cmp, i32 0, i32 870  ret i32 %res.071}72 73