brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 924a456 Raw
120 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck %s3 4define i32 @test1(i32 %a, i32 %b) nounwind readnone {5; CHECK-LABEL: test1:6; CHECK:       # %bb.0:7; CHECK-NEXT:    movl %esi, %eax8; CHECK-NEXT:    cmpl $1, %edi9; CHECK-NEXT:    sbbl $-1, %eax10; CHECK-NEXT:    retq11  %not.cmp = icmp ne i32 %a, 012  %inc = zext i1 %not.cmp to i3213  %retval.0 = add i32 %inc, %b14  ret i32 %retval.015}16 17define i32 @test1_commute(i32 %a, i32 %b) nounwind readnone {18; CHECK-LABEL: test1_commute:19; CHECK:       # %bb.0:20; CHECK-NEXT:    movl %esi, %eax21; CHECK-NEXT:    cmpl $1, %edi22; CHECK-NEXT:    sbbl $-1, %eax23; CHECK-NEXT:    retq24  %cmp = icmp ne i32 %a, 025  %inc = zext i1 %cmp to i3226  %ret = add i32 %b, %inc27  ret i32 %ret28}29 30define i32 @test2(i32 %a, i32 %b) nounwind readnone {31; CHECK-LABEL: test2:32; CHECK:       # %bb.0:33; CHECK-NEXT:    movl %esi, %eax34; CHECK-NEXT:    cmpl $1, %edi35; CHECK-NEXT:    adcl $0, %eax36; CHECK-NEXT:    retq37  %cmp = icmp eq i32 %a, 038  %inc = zext i1 %cmp to i3239  %retval.0 = add i32 %inc, %b40  ret i32 %retval.041}42 43define i32 @test3(i32 %a, i32 %b) nounwind readnone {44; CHECK-LABEL: test3:45; CHECK:       # %bb.0:46; CHECK-NEXT:    movl %esi, %eax47; CHECK-NEXT:    cmpl $1, %edi48; CHECK-NEXT:    adcl $0, %eax49; CHECK-NEXT:    retq50  %cmp = icmp eq i32 %a, 051  %inc = zext i1 %cmp to i3252  %retval.0 = add i32 %inc, %b53  ret i32 %retval.054}55 56define i32 @test4(i32 %a, i32 %b) nounwind readnone {57; CHECK-LABEL: test4:58; CHECK:       # %bb.0:59; CHECK-NEXT:    movl %esi, %eax60; CHECK-NEXT:    cmpl $1, %edi61; CHECK-NEXT:    sbbl $-1, %eax62; CHECK-NEXT:    retq63  %not.cmp = icmp ne i32 %a, 064  %inc = zext i1 %not.cmp to i3265  %retval.0 = add i32 %inc, %b66  ret i32 %retval.067}68 69define i32 @test5(i32 %a, i32 %b) nounwind readnone {70; CHECK-LABEL: test5:71; CHECK:       # %bb.0:72; CHECK-NEXT:    movl %esi, %eax73; CHECK-NEXT:    cmpl $1, %edi74; CHECK-NEXT:    adcl $-1, %eax75; CHECK-NEXT:    retq76  %not.cmp = icmp ne i32 %a, 077  %inc = zext i1 %not.cmp to i3278  %retval.0 = sub i32 %b, %inc79  ret i32 %retval.080}81 82define i32 @test6(i32 %a, i32 %b) nounwind readnone {83; CHECK-LABEL: test6:84; CHECK:       # %bb.0:85; CHECK-NEXT:    movl %esi, %eax86; CHECK-NEXT:    cmpl $1, %edi87; CHECK-NEXT:    sbbl $0, %eax88; CHECK-NEXT:    retq89  %cmp = icmp eq i32 %a, 090  %inc = zext i1 %cmp to i3291  %retval.0 = sub i32 %b, %inc92  ret i32 %retval.093}94 95define i32 @test7(i32 %a, i32 %b) nounwind readnone {96; CHECK-LABEL: test7:97; CHECK:       # %bb.0:98; CHECK-NEXT:    movl %esi, %eax99; CHECK-NEXT:    cmpl $1, %edi100; CHECK-NEXT:    sbbl $0, %eax101; CHECK-NEXT:    retq102  %cmp = icmp eq i32 %a, 0103  %inc = zext i1 %cmp to i32104  %retval.0 = sub i32 %b, %inc105  ret i32 %retval.0106}107 108define i32 @test8(i32 %a, i32 %b) nounwind readnone {109; CHECK-LABEL: test8:110; CHECK:       # %bb.0:111; CHECK-NEXT:    movl %esi, %eax112; CHECK-NEXT:    cmpl $1, %edi113; CHECK-NEXT:    adcl $-1, %eax114; CHECK-NEXT:    retq115  %not.cmp = icmp ne i32 %a, 0116  %inc = zext i1 %not.cmp to i32117  %retval.0 = sub i32 %b, %inc118  ret i32 %retval.0119}120