diff options
| author | Michael Liao <michael.liao@intel.com> | 2013-04-30 07:51:08 +0000 | 
|---|---|---|
| committer | Michael Liao <michael.liao@intel.com> | 2013-04-30 07:51:08 +0000 | 
| commit | c9ae780b5b5ec05841d56ae334cada0aec73732b (patch) | |
| tree | 5d3a57933c46f9bc9d3349088ca24a3df499e399 /llvm | |
| parent | 036d16d916081d2622531e37df0650bfd2fa4536 (diff) | |
| download | bcm5719-llvm-c9ae780b5b5ec05841d56ae334cada0aec73732b.tar.gz bcm5719-llvm-c9ae780b5b5ec05841d56ae334cada0aec73732b.zip  | |
Rewrite X86 codegen regression test with FileCheck
llvm-svn: 180776
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/test/CodeGen/X86/2006-07-31-SingleRegClass.ll | 7 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll | 5 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/2007-05-17-ShuffleISelBug.ll | 5 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/2009-03-25-TestBug.ll | 7 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/2009-05-23-available_externally.ll | 5 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/2009-08-08-CastError.ll | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/call-imm.ll | 13 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/commute-intrinsic.ll | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/fold-imm.ll | 11 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/fp-immediate-shorten.ll | 5 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/pr2656.ll | 5 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_set-9.ll | 9 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_shuffle-28.ll | 6 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/zext-inreg-0.ll | 15 | 
16 files changed, 75 insertions, 34 deletions
diff --git a/llvm/test/CodeGen/X86/2006-07-31-SingleRegClass.ll b/llvm/test/CodeGen/X86/2006-07-31-SingleRegClass.ll index c5c74d10486..c4b08a3be28 100644 --- a/llvm/test/CodeGen/X86/2006-07-31-SingleRegClass.ll +++ b/llvm/test/CodeGen/X86/2006-07-31-SingleRegClass.ll @@ -1,7 +1,8 @@  ; PR850 -; RUN: llc < %s -march=x86 -x86-asm-syntax=att > %t -; RUN: grep "movl 4(%eax),%ebp" %t -; RUN: grep "movl 0(%eax), %ebx" %t +; RUN: llc < %s -march=x86 -x86-asm-syntax=att | FileCheck %s + +; CHECK: {{movl 4[(]%eax[)],%ebp}} +; CHECK: {{movl 0[(]%eax[)], %ebx}}  define i32 @foo(i32 %__s.i.i, i32 %tmp5.i.i, i32 %tmp6.i.i, i32 %tmp7.i.i, i32 %tmp8.i.i) {  	%tmp9.i.i = call i32 asm sideeffect "push %ebp\0Apush %ebx\0Amovl 4($2),%ebp\0Amovl 0($2), %ebx\0Amovl $1,%eax\0Aint  $$0x80\0Apop  %ebx\0Apop %ebp", "={ax},i,0,{cx},{dx},{si},{di}"( i32 192, i32 %__s.i.i, i32 %tmp5.i.i, i32 %tmp6.i.i, i32 %tmp7.i.i, i32 %tmp8.i.i )		; <i32> [#uses=1] diff --git a/llvm/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll b/llvm/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll index 18b06dc0857..366f5830392 100644 --- a/llvm/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll +++ b/llvm/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll @@ -1,8 +1,9 @@ -; RUN: llc < %s -mcpu=yonah -march=x86 | \ -; RUN:   grep "cmpltsd %xmm0, %xmm0" +; RUN: llc < %s -mcpu=yonah -march=x86 | FileCheck %s +  target datalayout = "e-p:32:32"  target triple = "i686-apple-darwin9" +; CHECK: {{cmpltsd %xmm0, %xmm0}}  define void @acoshf() {  	%tmp19 = tail call <2 x double> asm sideeffect "pcmpeqd $0, $0 \0A\09 cmpltsd $0, $0", "=x,0,~{dirflag},~{fpsr},~{flags}"( <2 x double> zeroinitializer )		; <<2 x double>> [#uses=0] diff --git a/llvm/test/CodeGen/X86/2007-05-17-ShuffleISelBug.ll b/llvm/test/CodeGen/X86/2007-05-17-ShuffleISelBug.ll index b27ef836960..38fc5e18fe2 100644 --- a/llvm/test/CodeGen/X86/2007-05-17-ShuffleISelBug.ll +++ b/llvm/test/CodeGen/X86/2007-05-17-ShuffleISelBug.ll @@ -1,5 +1,6 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 -; RUN: llc < %s -march=x86 -mattr=+sse2 | not grep punpckhwd +; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s + +; CHECK-NOT: punpckhwd  declare <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16>, <8 x i16>) diff --git a/llvm/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll b/llvm/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll index 56a109acfc7..c4670242b53 100644 --- a/llvm/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll +++ b/llvm/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll @@ -1,9 +1,11 @@ -; RUN: llc < %s -relocation-model=static | grep "foo str$" +; RUN: llc < %s -relocation-model=static | FileCheck %s  ; PR1761  target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"  target triple = "x86_64-pc-linux"  @str = internal constant [12 x i8] c"init/main.c\00"		; <[12 x i8]*> [#uses=1] +; CHECK: {{foo str$}} +  define i32 @unknown_bootoption() {  entry:  	tail call void asm sideeffect "foo ${0:c}\0A", "i,~{dirflag},~{fpsr},~{flags}"( i8* getelementptr ([12 x i8]* @str, i32 0, i64 0) ) diff --git a/llvm/test/CodeGen/X86/2009-03-25-TestBug.ll b/llvm/test/CodeGen/X86/2009-03-25-TestBug.ll index f40fddc5a36..cc1d73da05c 100644 --- a/llvm/test/CodeGen/X86/2009-03-25-TestBug.ll +++ b/llvm/test/CodeGen/X86/2009-03-25-TestBug.ll @@ -1,8 +1,9 @@ -; RUN: llc < %s -march=x86 -o %t -; RUN: not grep and %t -; RUN: not grep shr %t +; RUN: llc < %s -march=x86 | FileCheck %s  ; rdar://6661955 +; CHECK-NOT: and +; CHECK-NOT: shr +  @hello = internal constant [7 x i8] c"hello\0A\00"  @world = internal constant [7 x i8] c"world\0A\00" diff --git a/llvm/test/CodeGen/X86/2009-05-23-available_externally.ll b/llvm/test/CodeGen/X86/2009-05-23-available_externally.ll index 94773d91ea1..c990108a21c 100644 --- a/llvm/test/CodeGen/X86/2009-05-23-available_externally.ll +++ b/llvm/test/CodeGen/X86/2009-05-23-available_externally.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -relocation-model=pic | grep atoi | grep PLT +; RUN: llc < %s -relocation-model=pic | FileCheck %s  ; PR4253  target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"  target triple = "x86_64-unknown-linux-gnu" @@ -9,6 +9,9 @@ entry:  	ret i32 %call  } +; CHECK: foo +; CHECK: {{atoi.+PLT}} +  define available_externally fastcc i32 @atoi(i8* %__nptr) nounwind readonly {  entry:  	%call = tail call i64 @strtol(i8* nocapture %__nptr, i8** null, i32 10) nounwind readonly		; <i64> [#uses=1] diff --git a/llvm/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll b/llvm/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll index 30763225a53..3061dc2c827 100644 --- a/llvm/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll +++ b/llvm/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll @@ -1,4 +1,6 @@ -; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -mattr=+mmx,+sse2 | not grep movl +; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -mattr=+mmx,+sse2 | FileCheck %s + +; CHECK-NOT: movl  define <8 x i8> @a(i8 zeroext %x) nounwind {    %r = insertelement <8 x i8> undef, i8 %x, i32 0 diff --git a/llvm/test/CodeGen/X86/2009-08-08-CastError.ll b/llvm/test/CodeGen/X86/2009-08-08-CastError.ll index 2dc812dbc62..748c5a8cc19 100644 --- a/llvm/test/CodeGen/X86/2009-08-08-CastError.ll +++ b/llvm/test/CodeGen/X86/2009-08-08-CastError.ll @@ -1,4 +1,6 @@ -; RUN: llc < %s -mtriple=x86_64-pc-mingw64 | grep movabsq +; RUN: llc < %s -mtriple=x86_64-pc-mingw64 | FileCheck %s + +; CHECK: movabsq  target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" diff --git a/llvm/test/CodeGen/X86/call-imm.ll b/llvm/test/CodeGen/X86/call-imm.ll index 38cda4d1404..8753594df10 100644 --- a/llvm/test/CodeGen/X86/call-imm.ll +++ b/llvm/test/CodeGen/X86/call-imm.ll @@ -1,11 +1,11 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=static | grep "call.*12345678" -; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=pic | not grep "call.*12345678" -; RUN: llc < %s -mtriple=i386-pc-linux -relocation-model=dynamic-no-pic | grep "call.*12345678" +; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=static | FileCheck -check-prefix X86STA %s +; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=pic | FileCheck -check-prefix X86PIC %s +; RUN: llc < %s -mtriple=i386-pc-linux -relocation-model=dynamic-no-pic | FileCheck -check-prefix X86DYN %s  ; Call to immediate is not safe on x86-64 unless we *know* that the  ; call will be within 32-bits pcrel from the dest immediate. -; RUN: llc < %s -march=x86-64 | grep "call.*\*%rax" +; RUN: llc < %s -march=x86-64 | FileCheck -check-prefix X64 %s  ; PR3666  ; PR3773 @@ -16,3 +16,8 @@ entry:  	%0 = call i32 inttoptr (i32 12345678 to i32 (i32)*)(i32 0) nounwind		; <i32> [#uses=1]  	ret i32 %0  } + +; X86STA: {{call.*12345678}} +; X86PIC-NOT: {{call.*12345678}} +; X86DYN: {{call.*12345678}} +; X64: {{call.*[*]%rax}} diff --git a/llvm/test/CodeGen/X86/commute-intrinsic.ll b/llvm/test/CodeGen/X86/commute-intrinsic.ll index d810cb1eff7..7d5ca476689 100644 --- a/llvm/test/CodeGen/X86/commute-intrinsic.ll +++ b/llvm/test/CodeGen/X86/commute-intrinsic.ll @@ -1,4 +1,6 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 -relocation-model=static | not grep movaps +; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 -relocation-model=static | FileCheck %s + +; CHECK-NOT: movaps  @a = external global <2 x i64>		; <<2 x i64>*> [#uses=1] diff --git a/llvm/test/CodeGen/X86/fold-imm.ll b/llvm/test/CodeGen/X86/fold-imm.ll index f1fcbcfd13b..16e4786979b 100644 --- a/llvm/test/CodeGen/X86/fold-imm.ll +++ b/llvm/test/CodeGen/X86/fold-imm.ll @@ -1,5 +1,4 @@ -; RUN: llc < %s -march=x86 | grep inc -; RUN: llc < %s -march=x86 | grep add | grep 4 +; RUN: llc < %s -march=x86 | FileCheck %s  define i32 @test(i32 %X) nounwind {  entry: @@ -7,8 +6,16 @@ entry:  	ret i32 %0  } +; CHECK: test +; CHECK: inc +; CHECK: ret +  define i32 @test2(i32 %X) nounwind {  entry:  	%0 = add i32 %X, 4  	ret i32 %0  } + +; CHECK: test2 +; CHECK: {{add.*4.*$}} +; CHECK: ret diff --git a/llvm/test/CodeGen/X86/fp-immediate-shorten.ll b/llvm/test/CodeGen/X86/fp-immediate-shorten.ll index 62d81003a62..dc59c5a44b4 100644 --- a/llvm/test/CodeGen/X86/fp-immediate-shorten.ll +++ b/llvm/test/CodeGen/X86/fp-immediate-shorten.ll @@ -1,7 +1,8 @@  ;; Test that this FP immediate is stored in the constant pool as a float. -; RUN: llc < %s -march=x86 -mattr=-sse2,-sse3 | \ -; RUN:   grep ".long.1123418112" +; RUN: llc < %s -march=x86 -mattr=-sse2,-sse3 | FileCheck %s + +; CHECK: {{.long.1123418112}}  define double @D() {          ret double 1.230000e+02 diff --git a/llvm/test/CodeGen/X86/pr2656.ll b/llvm/test/CodeGen/X86/pr2656.ll index f0e31f7f5fd..1122d2d5711 100644 --- a/llvm/test/CodeGen/X86/pr2656.ll +++ b/llvm/test/CodeGen/X86/pr2656.ll @@ -1,6 +1,9 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 | grep "xorps.*sp" | count 1 +; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s  ; PR2656 +; CHECK:     {{xorps.*sp}} +; CHECK-NOT: {{xorps.*sp}} +  target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"  target triple = "i686-apple-darwin9.4.0"  	%struct.anon = type <{ float, float }> diff --git a/llvm/test/CodeGen/X86/vec_set-9.ll b/llvm/test/CodeGen/X86/vec_set-9.ll index b8ec0cf0809..6979f6bb1c2 100644 --- a/llvm/test/CodeGen/X86/vec_set-9.ll +++ b/llvm/test/CodeGen/X86/vec_set-9.ll @@ -1,5 +1,10 @@ -; RUN: llc < %s -march=x86-64 | grep movd | count 1 -; RUN: llc < %s -march=x86-64 | grep "movlhps.*%xmm0, %xmm0" +; RUN: llc < %s -march=x86-64 | FileCheck %s + +; CHECK: test3 +; CHECK: movd +; CHECK-NOT: movd +; CHECK: {{movlhps.*%xmm0, %xmm0}} +; CHECK-NEXT: ret  define <2 x i64> @test3(i64 %A) nounwind {  entry: diff --git a/llvm/test/CodeGen/X86/vec_shuffle-28.ll b/llvm/test/CodeGen/X86/vec_shuffle-28.ll index 343685bf8ad..ebf557762cb 100644 --- a/llvm/test/CodeGen/X86/vec_shuffle-28.ll +++ b/llvm/test/CodeGen/X86/vec_shuffle-28.ll @@ -1,5 +1,7 @@ -; RUN: llc < %s -march=x86 -mcpu=core2 -o %t -; RUN: grep pshufb %t | count 1 +; RUN: llc < %s -march=x86 -mcpu=core2 | FileCheck %s + +; CHECK:     pshufb +; CHECK-NOT: pshufb  ; FIXME: this test has a superfluous punpcklqdq pre-pshufb currently.  ;        Don't XFAIL it because it's still better than the previous code. diff --git a/llvm/test/CodeGen/X86/zext-inreg-0.ll b/llvm/test/CodeGen/X86/zext-inreg-0.ll index ae6221af9d8..688b88db526 100644 --- a/llvm/test/CodeGen/X86/zext-inreg-0.ll +++ b/llvm/test/CodeGen/X86/zext-inreg-0.ll @@ -1,9 +1,12 @@ -; RUN: llc < %s -march=x86 | not grep and -; RUN: llc < %s -march=x86-64 > %t -; RUN: not grep and %t -; RUN: not grep movzbq %t -; RUN: not grep movzwq %t -; RUN: not grep movzlq %t +; RUN: llc < %s -march=x86 | FileCheck -check-prefix=X86 %s +; RUN: llc < %s -march=x86-64 | FileCheck -check-prefix=X64 %s + +; X86-NOT: and + +; X64-NOT: and +; X64-NOT: movzbq +; X64-NOT: movzwq +; X64-NOT: movzlq  ; These should use movzbl instead of 'and 255'.  ; This related to not having a ZERO_EXTEND_REG opcode.  | 

