X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FX86%2Fsetcc.ll;h=b4847c54ffafed9e77de9335baf53e9508603a75;hb=b46bb541f5f78520b08c1b50463c3517041d26de;hp=6f1ddbdc6aca3a0d01d880c1bcd88fd6b52993f5;hpb=b1ff87ec86284a1765ba70b8939f65155b1555af;p=oota-llvm.git diff --git a/test/CodeGen/X86/setcc.ll b/test/CodeGen/X86/setcc.ll index 6f1ddbdc6ac..b4847c54ffa 100644 --- a/test/CodeGen/X86/setcc.ll +++ b/test/CodeGen/X86/setcc.ll @@ -34,3 +34,23 @@ entry: %iftmp.2.0 = select i1 %0, i64 64, i64 0 ; [#uses=1] ret i64 %iftmp.2.0 } + +@v4 = common global i32 0, align 4 + +define i32 @t4(i32 %a) { +entry: +; CHECK-LABEL: t4: +; CHECK: movq _v4@GOTPCREL(%rip), %rax +; CHECK: cmpl $1, (%rax) +; CHECK: sbbl %eax, %eax +; CHECK: andl $32768, %eax +; CHECK: leal 65536(%rax,%rax), %eax + %0 = load i32, i32* @v4, align 4 + %not.tobool = icmp eq i32 %0, 0 + %conv.i = sext i1 %not.tobool to i16 + %call.lobit = lshr i16 %conv.i, 15 + %add.i.1 = add nuw nsw i16 %call.lobit, 1 + %conv4.2 = zext i16 %add.i.1 to i32 + %add = shl nuw nsw i32 %conv4.2, 16 + ret i32 %add +}