Try to unbreak the arm buildbot.
[oota-llvm.git] / test / CodeGen / X86 / memset-2.ll
1 ; RUN: llc -mtriple=i386-apple-darwin -mcpu=yonah < %s | FileCheck %s
2
3 declare void @llvm.memset.i32(i8*, i8, i32, i32) nounwind
4
5 define fastcc void @t1() nounwind {
6 entry:
7 ; CHECK: t1:
8 ; CHECK: pxor %xmm0, %xmm0
9 ; CHECK: movups %xmm0, 160
10 ; CHECK: movups %xmm0, 144
11 ; CHECK: movups %xmm0, 128
12 ; CHECK: movups %xmm0, 112
13 ; CHECK: movups %xmm0, 96
14 ; CHECK: movups %xmm0, 80
15 ; CHECK: movups %xmm0, 64
16 ; CHECK: movups %xmm0, 48
17 ; CHECK: movups %xmm0, 32
18 ; CHECK: movups %xmm0, 16
19 ; CHECK: movups %xmm0, 0
20 ; CHECK: movl $0, 184
21 ; CHECK: movl $0, 180
22 ; CHECK: movl $0, 176
23   call void @llvm.memset.i32( i8* null, i8 0, i32 188, i32 1 ) nounwind
24   unreachable
25 }
26
27 define fastcc void @t2(i8 signext %c) nounwind {
28 entry:
29 ; CHECK: t2:
30 ; CHECK: calll _memset
31   call void @llvm.memset.i32( i8* undef, i8 %c, i32 76, i32 1 ) nounwind
32   unreachable
33 }
34
35 declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind
36
37 define void @t3(i8* nocapture %s, i8 %a) nounwind {
38 entry:
39   tail call void @llvm.memset.p0i8.i32(i8* %s, i8 %a, i32 8, i32 1, i1 false)
40   ret void
41 ; CHECK: t3:
42 ; CHECK: imull $16843009
43 }
44
45 define void @t4(i8* nocapture %s, i8 %a) nounwind {
46 entry:
47   tail call void @llvm.memset.p0i8.i32(i8* %s, i8 %a, i32 15, i32 1, i1 false)
48   ret void
49 ; CHECK: t4:
50 ; CHECK: imull $16843009
51 ; CHECK-NOT: imul
52 ; CHECK: ret
53 }