]> granicus.if.org Git - llvm/commitdiff
[x86] simplify runs and auto-generate full checks
authorSanjay Patel <spatel@rotateright.com>
Tue, 22 Aug 2017 16:21:45 +0000 (16:21 +0000)
committerSanjay Patel <spatel@rotateright.com>
Tue, 22 Aug 2017 16:21:45 +0000 (16:21 +0000)
I've replaced the two OS-specific runs with a generic run because
there's no functional difference in the resulting output that
we're checking. Also, the script still doesn't work with a Win
target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311463 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/bool-zext.ll

index 5cc758c06b5d64ef8e055088e186102a5f688218..b2680c570e097adc7e4246bf3501f5705fffd7fd 100644 (file)
@@ -1,56 +1,63 @@
-; RUN: llc < %s -mtriple=i686-unknown-linux-gnu | FileCheck %s -check-prefix=X86
-; RUN: llc < %s -mtriple=x86_64-apple-darwin10 | FileCheck %s -check-prefix=X64
-; RUN: llc < %s -mtriple=x86_64-pc-win32 | FileCheck %s -check-prefix=WIN64
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s -check-prefix=X32
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s -check-prefix=X64
 
 ; Check that the argument gets zero-extended before calling.
-; X86-LABEL: bar1
-; X86: movzbl
-; X86: calll
-; X64-LABEL: bar1
-; X64: movzbl
-; X64: jmp
-; WIN64-LABEL: bar1
-; WIN64: movzbl
-; WIN64: callq
 define void @bar1(i1 zeroext %v1) nounwind ssp {
-entry:
+; X32-LABEL: bar1:
+; X32:       # BB#0:
+; X32-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
+; X32-NEXT:    pushl %eax
+; X32-NEXT:    calll foo1
+; X32-NEXT:    addl $4, %esp
+; X32-NEXT:    retl
+;
+; X64-LABEL: bar1:
+; X64:       # BB#0:
+; X64-NEXT:    movzbl %dil, %edi
+; X64-NEXT:    xorl %eax, %eax
+; X64-NEXT:    jmp foo1 # TAILCALL
   %conv = zext i1 %v1 to i32
   %call = tail call i32 (...) @foo1(i32 %conv) nounwind
   ret void
 }
 
 ; Check that on x86-64 the arguments are simply forwarded.
-; X64-LABEL: bar2
-; X64-NOT: movzbl
-; X64: jmp
-; WIN64-LABEL: bar2
-; WIN64-NOT: movzbl
-; WIN64: callq
 define void @bar2(i8 zeroext %v1) nounwind ssp {
-entry:
+; X32-LABEL: bar2:
+; X32:       # BB#0:
+; X32-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
+; X32-NEXT:    pushl %eax
+; X32-NEXT:    calll foo1
+; X32-NEXT:    addl $4, %esp
+; X32-NEXT:    retl
+;
+; X64-LABEL: bar2:
+; X64:       # BB#0:
+; X64-NEXT:    xorl %eax, %eax
+; X64-NEXT:    jmp foo1 # TAILCALL
   %conv = zext i8 %v1 to i32
   %call = tail call i32 (...) @foo1(i32 %conv) nounwind
   ret void
 }
 
 ; Check that i1 return values are not zero-extended.
-; X86-LABEL: bar3
-; X86: call
-; X86-NEXT: {{add|pop}}
-; X86-NEXT: ret
-; X64-LABEL: bar3
-; X64: call
-; X64-NEXT: {{add|pop}}
-; X64-NEXT: ret
-; WIN64-LABEL: bar3
-; WIN64: call
-; WIN64-NEXT: {{add|pop}}
-; WIN64-NEXT: ret
 define zeroext i1 @bar3() nounwind ssp {
-entry:
+; X32-LABEL: bar3:
+; X32:       # BB#0:
+; X32-NEXT:    calll foo2
+; X32-NEXT:    retl
+;
+; X64-LABEL: bar3:
+; X64:       # BB#0:
+; X64-NEXT:    pushq %rax
+; X64-NEXT:    callq foo2
+; X64-NEXT:    popq %rcx
+; X64-NEXT:    retq
   %call = call i1 @foo2() nounwind
   ret i1 %call
 }
 
 declare i32 @foo1(...)
 declare zeroext i1 @foo2()
+