Skip to content

Commit

Permalink
More rewrites of x86 codegen regression tests with FileCheck
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180837 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
hliao2 committed May 1, 2013
1 parent af35d86 commit 9ed0a1b
Show file tree
Hide file tree
Showing 19 changed files with 78 additions and 28 deletions.
4 changes: 3 additions & 1 deletion test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
; it makes a ton of annoying overlapping live ranges. This code should not
; cause spills!
;
; RUN: llc < %s -march=x86 -stats 2>&1 | not grep spilled
; RUN: llc < %s -march=x86 -stats 2>&1 | FileCheck %s

; CHECK-NOT: spilled

target datalayout = "e-p:32:32"

Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/2006-11-27-SelectLegalize.ll
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
; RUN: llc < %s -march=x86 | grep test.*1
; RUN: llc < %s -march=x86 | FileCheck %s
; PR1016

; CHECK: {{test.*1}}

define i32 @test(i32 %A, i32 %B, i32 %C) {
%a = trunc i32 %A to i1 ; <i1> [#uses=1]
%D = select i1 %a, i32 %B, i32 %C ; <i32> [#uses=1]
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/2007-04-24-Huge-Stack.ll
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
; RUN: llc < %s -march=x86-64 | not grep 4294967112
; RUN: llc < %s -march=x86-64 | FileCheck %s
; PR1348

; CHECK-NOT: 4294967112

%struct.md5_ctx = type { i32, i32, i32, i32, [2 x i32], i32, [128 x i8], [4294967288 x i8] }

define i8* @md5_buffer(i8* %buffer, i64 %len, i8* %resblock) {
Expand Down
5 changes: 4 additions & 1 deletion test/CodeGen/X86/2007-06-15-IntToMMX.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
; RUN: llc < %s -march=x86-64 -mattr=+mmx | grep paddusw
; RUN: llc < %s -march=x86-64 -mattr=+mmx | FileCheck %s

; CHECK: paddusw

@R = external global x86_mmx ; <x86_mmx*> [#uses=1]

define void @foo(<1 x i64> %A, <1 x i64> %B) {
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/2007-08-01-LiveVariablesBug.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
; RUN: llc < %s -march=x86 | not grep movl
; RUN: llc < %s -march=x86 | FileCheck %s

; CHECK-NOT: movl

define zeroext i8 @t(i8 zeroext %x, i8 zeroext %y) {
%tmp2 = add i8 %x, 2
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/2008-01-09-LongDoubleSin.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
; RUN: llc < %s -o - | grep sinl
; RUN: llc < %s -o - | FileCheck %s

; CHECK: sinl

target triple = "i686-pc-linux-gnu"

Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/2009-02-25-CommuteBug.ll
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
; REQUIRES: asserts
; RUN: llc < %s -march=x86 -mattr=+sse2 -stats 2>&1 | not grep commuted
; RUN: llc < %s -march=x86 -mattr=+sse2 -stats 2>&1 | FileCheck %s
; rdar://6608609

; CHECK-NOT: commuted

define <2 x double> @t(<2 x double> %A, <2 x double> %B, <2 x double> %C) nounwind readnone {
entry:
%tmp.i2 = bitcast <2 x double> %B to <2 x i64> ; <<2 x i64>> [#uses=1]
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/2009-04-16-SpillerUnfold.ll
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
; REQUIRES: asserts
; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -relocation-model=pic -disable-fp-elim -stats 2>&1 | grep "Number of modref unfolded"
; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -relocation-model=pic -disable-fp-elim -stats 2>&1 | FileCheck %s
; XFAIL: *
; 69408 removed the opportunity for this optimization to work

; CHECK: {{Number of modref unfolded}}

%struct.SHA512_CTX = type { [8 x i64], i64, i64, %struct.anon, i32, i32 }
%struct.anon = type { [16 x i64] }
@K512 = external constant [80 x i64], align 32 ; <[80 x i64]*> [#uses=2]
Expand Down
7 changes: 4 additions & 3 deletions test/CodeGen/X86/2009-04-24.ll
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu -regalloc=fast -optimize-regalloc=0 -relocation-model=pic > %t2
; RUN: grep "leaq.*TLSGD" %t2
; RUN: grep "__tls_get_addr" %t2
; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu -regalloc=fast -optimize-regalloc=0 -relocation-model=pic | FileCheck %s
; PR4004

; CHECK: {{leaq.*TLSGD}}
; CHECK: {{__tls_get_addr}}

@i = thread_local global i32 15

define i32 @f() {
Expand Down
7 changes: 4 additions & 3 deletions test/CodeGen/X86/bswap-inline-asm.ll
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
; RUN: llc < %s -mtriple=x86_64-apple-darwin > %t
; RUN: not grep InlineAsm %t
; RUN: FileCheck %s < %t
; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck -check-prefix CHK %s
; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s

; CHK-NOT: InlineAsm

; CHECK: foo:
; CHECK: bswapq
Expand Down
19 changes: 16 additions & 3 deletions test/CodeGen/X86/long-setcc.ll
Original file line number Diff line number Diff line change
@@ -1,18 +1,31 @@
; RUN: llc < %s -march=x86 | grep cmp | count 1
; RUN: llc < %s -march=x86 | grep shr | count 1
; RUN: llc < %s -march=x86 | grep xor | count 1
; RUN: llc < %s -march=x86 | FileCheck %s

define i1 @t1(i64 %x) nounwind {
%B = icmp slt i64 %x, 0
ret i1 %B
}

; CHECK: t1
; CHECK: shrl
; CHECK-NOT: shrl
; CHECK: ret

define i1 @t2(i64 %x) nounwind {
%tmp = icmp ult i64 %x, 4294967296
ret i1 %tmp
}

; CHECK: t2
; CHECK: cmp
; CHECK-NOT: cmp
; CHECK: ret

define i1 @t3(i32 %x) nounwind {
%tmp = icmp ugt i32 %x, -1
ret i1 %tmp
}

; CHECK: t3
; CHECK: xor
; CHECK-NOT: xor
; CHECK: ret
5 changes: 4 additions & 1 deletion test/CodeGen/X86/lsr-normalization.ll
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
; RUN: llc < %s -march=x86-64 | grep div | count 1
; RUN: llc < %s -march=x86-64 | FileCheck %s
; rdar://8168938

; This testcase involves SCEV normalization with the exit value from
; one loop involved with the increment value for an addrec on another
; loop. The expression should be properly normalized and simplified,
; and require only a single division.

; CHECK: div
; CHECK-NOT: div

%0 = type { %0*, %0* }

@0 = private constant [13 x i8] c"Result: %lu\0A\00" ; <[13 x i8]*> [#uses=1]
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/mul-legalize.ll
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
; RUN: llc < %s -march=x86 | grep 24576
; RUN: llc < %s -march=x86 | FileCheck %s
; PR2135

; CHECK: 24576

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:32:32"
target triple = "i386-pc-linux-gnu"
@.str = constant [13 x i8] c"c45531m.adb\00\00"
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/negative_zero.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
; RUN: llc < %s -march=x86 -mattr=-sse2,-sse3 | grep fchs
; RUN: llc < %s -march=x86 -mattr=-sse2,-sse3 | FileCheck %s

; CHECK: fchs


define double @T() {
Expand Down
8 changes: 5 additions & 3 deletions test/CodeGen/X86/optimize-max-2.ll
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
; RUN: llc < %s -march=x86-64 > %t
; RUN: grep cmov %t | count 2
; RUN: grep jne %t | count 1
; RUN: llc < %s -march=x86-64 | grep cmov %t | count 2
; RUN: llc < %s -march=x86-64 | FileCheck %s

; CHECK: jne
; CHECK-NOT: jne

; LSR's OptimizeMax function shouldn't try to eliminate this max, because
; it has three operands.
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/phys_subreg_coalesce.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
; RUN: llc < %s -mtriple=x86_64-apple-darwin9 -mattr=+sse2 | not grep movl
; RUN: llc < %s -mtriple=x86_64-apple-darwin9 -mattr=+sse2 | FileCheck %s

; CHECK-NOT: movl

%struct.dpoint = type { double, double }

Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/vec_set-D.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
; RUN: llc < %s -march=x86 -mattr=+sse2 | grep movq
; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s

; CHECK: movq

define <4 x i32> @t(i32 %x, i32 %y) nounwind {
%tmp1 = insertelement <4 x i32> zeroinitializer, i32 %x, i32 0
Expand Down
7 changes: 5 additions & 2 deletions test/CodeGen/X86/vec_set-I.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
; RUN: llc < %s -march=x86 -mattr=+sse2 | grep movd
; RUN: llc < %s -march=x86 -mattr=+sse2 | not grep xorp
; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s

; CHECK-NOT: xorp
; CHECK: movd
; CHECK-NOT: xorp

define void @t1() nounwind {
%tmp298.i.i = load <4 x float>* null, align 16
Expand Down
4 changes: 3 additions & 1 deletion test/CodeGen/X86/x86-64-shortint.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
; RUN: llc < %s | grep movswl
; RUN: llc < %s | FileCheck %s

; CHECK: movswl

target datalayout = "e-p:64:64"
target triple = "x86_64-apple-darwin8"
Expand Down

0 comments on commit 9ed0a1b

Please sign in to comment.