[llvm] r311463 - [x86] simplify runs and auto-generate full checks

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 22 09:21:45 PDT 2017


Author: spatel
Date: Tue Aug 22 09:21:45 2017
New Revision: 311463

URL: http://llvm.org/viewvc/llvm-project?rev=311463&view=rev
Log:
[x86] simplify runs and auto-generate full checks

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.

Modified:
    llvm/trunk/test/CodeGen/X86/bool-zext.ll

Modified: llvm/trunk/test/CodeGen/X86/bool-zext.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/bool-zext.ll?rev=311463&r1=311462&r2=311463&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/bool-zext.ll (original)
+++ llvm/trunk/test/CodeGen/X86/bool-zext.ll Tue Aug 22 09:21:45 2017
@@ -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()
+




More information about the llvm-commits mailing list