llvm.org GIT mirror llvm / release_39 test / CodeGen / X86 / memset-2.ll
release_39

Tree @release_39 (Download .tar.gz)

memset-2.ll @release_39

4fdd8ba
6264e53
1887c1c
94107ba
8b2b8a1
f87ded9
1c74502
f87ded9
b667d69
 
6264e53
f87ded9
4fdd8ba
 
6d024c6
255f20f
1887c1c
94107ba
 
8b2b8a1
f87ded9
 
4fdd8ba
 
6264e53
4fdd8ba
 
6d024c6
94107ba
 
8c06aa1
6d024c6
8c06aa1
 
4fdd8ba
f87ded9
 
4fdd8ba
 
 
 
 
 
8c06aa1
6d024c6
8c06aa1
 
 
8022036
4fdd8ba
f87ded9
 
4fdd8ba
 
 
 
 
 
 
 
 
8022036
6d024c6
8022036
 
; NOTE: Assertions have been autogenerated by update_test_checks.py
; RUN: llc -mtriple=i386-apple-darwin9 -mcpu=yonah < %s | FileCheck %s

define fastcc void @t1() nounwind {
; CHECK-LABEL: t1:
; CHECK:       ## BB#0: ## %entry
; CHECK-NEXT:    subl $16, %esp
; CHECK-NEXT:    pushl $188
; CHECK-NEXT:    pushl $0
; CHECK-NEXT:    pushl $0
; CHECK-NEXT:    calll _memset
; CHECK-NEXT:    addl $16, %esp
;
entry:
  call void @llvm.memset.p0i8.i32(i8* null, i8 0, i32 188, i32 1, i1 false)
  unreachable
}

define fastcc void @t2(i8 signext %c) nounwind {
; CHECK-LABEL: t2:
; CHECK:       ## BB#0: ## %entry
; CHECK-NEXT:    subl $12, %esp
; CHECK-NEXT:    movl %ecx, {{[0-9]+}}(%esp)
; CHECK-NEXT:    movl $76, {{[0-9]+}}(%esp)
; CHECK-NEXT:    calll _memset
;
entry:
  call void @llvm.memset.p0i8.i32(i8* undef, i8 %c, i32 76, i32 1, i1 false)
  unreachable
}

declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind

define void @t3(i8* nocapture %s, i8 %a) nounwind {
; CHECK-LABEL: t3:
; CHECK:       ## BB#0: ## %entry
; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
; CHECK-NEXT:    movzbl {{[0-9]+}}(%esp), %ecx
; CHECK-NEXT:    imull $16843009, %ecx, %ecx ## imm = 0x1010101
; CHECK-NEXT:    movl %ecx, 4(%eax)
; CHECK-NEXT:    movl %ecx, (%eax)
; CHECK-NEXT:    retl
;
entry:
  tail call void @llvm.memset.p0i8.i32(i8* %s, i8 %a, i32 8, i32 1, i1 false)
  ret void
}

define void @t4(i8* nocapture %s, i8 %a) nounwind {
; CHECK-LABEL: t4:
; CHECK:       ## BB#0: ## %entry
; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
; CHECK-NEXT:    movzbl {{[0-9]+}}(%esp), %ecx
; CHECK-NEXT:    imull $16843009, %ecx, %ecx ## imm = 0x1010101
; CHECK-NEXT:    movl %ecx, 8(%eax)
; CHECK-NEXT:    movl %ecx, 4(%eax)
; CHECK-NEXT:    movl %ecx, (%eax)
; CHECK-NEXT:    movw %cx, 12(%eax)
; CHECK-NEXT:    movb %cl, 14(%eax)
; CHECK-NEXT:    retl
;
entry:
  tail call void @llvm.memset.p0i8.i32(i8* %s, i8 %a, i32 15, i32 1, i1 false)
  ret void
}