blob: b2bd72bb312bee0692ed4982f4bb1089dfd3cab7 [file] [log] [blame]
Benjamin Kramer50dd09b2011-01-07 11:35:21 +00001; RUN: llc -mtriple=i386-apple-darwin -mcpu=yonah < %s | FileCheck %s
Evan Cheng1887c1c2008-08-21 21:00:15 +00002
3declare void @llvm.memset.i32(i8*, i8, i32, i32) nounwind
4
Evan Cheng94107ba2010-04-01 18:19:11 +00005define fastcc void @t1() nounwind {
Evan Cheng1887c1c2008-08-21 21:00:15 +00006entry:
Evan Cheng94107ba2010-04-01 18:19:11 +00007; CHECK: t1:
Evan Chenga5e13622011-01-07 19:35:30 +00008; CHECK: calll _memset
Chris Lattnerb85e4eb2011-06-18 06:05:24 +00009 call void @llvm.memset.p0i8.i32(i8* null, i8 0, i32 188, i32 1, i1 false)
Evan Cheng255f20f2010-04-01 06:04:33 +000010 unreachable
Evan Cheng1887c1c2008-08-21 21:00:15 +000011}
Evan Cheng94107ba2010-04-01 18:19:11 +000012
13define fastcc void @t2(i8 signext %c) nounwind {
14entry:
15; CHECK: t2:
Chris Lattner1eb1b682010-09-22 05:49:14 +000016; CHECK: calll _memset
Chris Lattnerb85e4eb2011-06-18 06:05:24 +000017 call void @llvm.memset.p0i8.i32(i8* undef, i8 %c, i32 76, i32 1, i1 false)
Evan Cheng94107ba2010-04-01 18:19:11 +000018 unreachable
19}
Benjamin Kramer8c06aa12011-01-02 19:44:58 +000020
21declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind
22
23define void @t3(i8* nocapture %s, i8 %a) nounwind {
24entry:
25 tail call void @llvm.memset.p0i8.i32(i8* %s, i8 %a, i32 8, i32 1, i1 false)
26 ret void
27; CHECK: t3:
28; CHECK: imull $16843009
29}
30
Benjamin Kramer80220362011-01-02 19:57:05 +000031define void @t4(i8* nocapture %s, i8 %a) nounwind {
32entry:
33 tail call void @llvm.memset.p0i8.i32(i8* %s, i8 %a, i32 15, i32 1, i1 false)
34 ret void
35; CHECK: t4:
36; CHECK: imull $16843009
37; CHECK-NOT: imul
38; CHECK: ret
39}