Benjamin Kramer | 50dd09b | 2011-01-07 11:35:21 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=i386-apple-darwin -mcpu=yonah < %s | FileCheck %s |
Evan Cheng | 1887c1c | 2008-08-21 21:00:15 +0000 | [diff] [blame] | 2 | |
| 3 | declare void @llvm.memset.i32(i8*, i8, i32, i32) nounwind |
| 4 | |
Evan Cheng | 94107ba | 2010-04-01 18:19:11 +0000 | [diff] [blame] | 5 | define fastcc void @t1() nounwind { |
Evan Cheng | 1887c1c | 2008-08-21 21:00:15 +0000 | [diff] [blame] | 6 | entry: |
Evan Cheng | 94107ba | 2010-04-01 18:19:11 +0000 | [diff] [blame] | 7 | ; CHECK: t1: |
Evan Cheng | a5e1362 | 2011-01-07 19:35:30 +0000 | [diff] [blame] | 8 | ; CHECK: calll _memset |
Chris Lattner | b85e4eb | 2011-06-18 06:05:24 +0000 | [diff] [blame] | 9 | call void @llvm.memset.p0i8.i32(i8* null, i8 0, i32 188, i32 1, i1 false) |
Evan Cheng | 255f20f | 2010-04-01 06:04:33 +0000 | [diff] [blame] | 10 | unreachable |
Evan Cheng | 1887c1c | 2008-08-21 21:00:15 +0000 | [diff] [blame] | 11 | } |
Evan Cheng | 94107ba | 2010-04-01 18:19:11 +0000 | [diff] [blame] | 12 | |
| 13 | define fastcc void @t2(i8 signext %c) nounwind { |
| 14 | entry: |
| 15 | ; CHECK: t2: |
Chris Lattner | 1eb1b68 | 2010-09-22 05:49:14 +0000 | [diff] [blame] | 16 | ; CHECK: calll _memset |
Chris Lattner | b85e4eb | 2011-06-18 06:05:24 +0000 | [diff] [blame] | 17 | call void @llvm.memset.p0i8.i32(i8* undef, i8 %c, i32 76, i32 1, i1 false) |
Evan Cheng | 94107ba | 2010-04-01 18:19:11 +0000 | [diff] [blame] | 18 | unreachable |
| 19 | } |
Benjamin Kramer | 8c06aa1 | 2011-01-02 19:44:58 +0000 | [diff] [blame] | 20 | |
| 21 | declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind |
| 22 | |
| 23 | define void @t3(i8* nocapture %s, i8 %a) nounwind { |
| 24 | entry: |
| 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 Kramer | 8022036 | 2011-01-02 19:57:05 +0000 | [diff] [blame] | 31 | define void @t4(i8* nocapture %s, i8 %a) nounwind { |
| 32 | entry: |
| 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 | } |