; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i386-apple-darwin10.0 -mcpu=core2  -relocation-model=dynamic-no-pic    | FileCheck -check-prefix=I386 %s
; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -mcpu=core2  -relocation-model=dynamic-no-pic  | FileCheck -check-prefix=CORE2 %s
; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -mcpu=corei7 -relocation-model=dynamic-no-pic  | FileCheck -check-prefix=COREI7 %s

@.str1 = internal constant [31 x i8] c"DHRYSTONE PROGRAM, SOME STRING\00", align 8
@.str3 = internal constant [31 x i8] c"DHRYSTONE PROGRAM, 2'ND STRING\00", align 8

; This can be improved; see PR39952.

define void @func() nounwind ssp {
; I386-LABEL: func:
; I386:       ## %bb.0: ## %entry
; I386-NEXT:    subl $32, %esp
; I386-NEXT:    .p2align 4, 0x90
; I386-NEXT:  LBB0_1: ## %bb
; I386-NEXT:    ## =>This Inner Loop Header: Depth=1
; I386-NEXT:    movl $4673097, {{[0-9]+}}(%esp) ## imm = 0x474E49
; I386-NEXT:    movl $1230132307, {{[0-9]+}}(%esp) ## imm = 0x49525453
; I386-NEXT:    movl $541347367, {{[0-9]+}}(%esp) ## imm = 0x20444E27
; I386-NEXT:    movl $840969293, {{[0-9]+}}(%esp) ## imm = 0x32202C4D
; I386-NEXT:    movl $1095911247, {{[0-9]+}}(%esp) ## imm = 0x4152474F
; I386-NEXT:    movl $1380982853, {{[0-9]+}}(%esp) ## imm = 0x52502045
; I386-NEXT:    movl $1313821779, {{[0-9]+}}(%esp) ## imm = 0x4E4F5453
; I386-NEXT:    movl $1498564676, (%esp) ## imm = 0x59524844
; I386-NEXT:    jmp LBB0_1
;
; CORE2-LABEL: func:
; CORE2:       ## %bb.0: ## %entry
; CORE2-NEXT:    movabsq $20070800167293728, %rax ## imm = 0x474E4952545320
; CORE2-NEXT:    movabsq $2325069237881678925, %rcx ## imm = 0x20444E2732202C4D
; CORE2-NEXT:    movabsq $4706902966564560965, %rdx ## imm = 0x4152474F52502045
; CORE2-NEXT:    movabsq $5642821575076104260, %rsi ## imm = 0x4E4F545359524844
; CORE2-NEXT:    .p2align 4, 0x90
; CORE2-NEXT:  LBB0_1: ## %bb
; CORE2-NEXT:    ## =>This Inner Loop Header: Depth=1
; CORE2-NEXT:    movq %rax, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    movq %rcx, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    movq %rdx, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    movq %rsi, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    jmp LBB0_1
;
; COREI7-LABEL: func:
; COREI7:       ## %bb.0: ## %entry
; COREI7-NEXT:    movups _.str3+15(%rip), %xmm0
; COREI7-NEXT:    movups _.str3(%rip), %xmm1
; COREI7-NEXT:    .p2align 4, 0x90
; COREI7-NEXT:  LBB0_1: ## %bb
; COREI7-NEXT:    ## =>This Inner Loop Header: Depth=1
; COREI7-NEXT:    movups %xmm0, -{{[0-9]+}}(%rsp)
; COREI7-NEXT:    movaps %xmm1, -{{[0-9]+}}(%rsp)
; COREI7-NEXT:    jmp LBB0_1
entry:
  %String2Loc = alloca [31 x i8], align 1
  br label %bb

bb:                                               ; preds = %bb, %entry
  %String2Loc9 = getelementptr inbounds [31 x i8], [31 x i8]* %String2Loc, i64 0, i64 0
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %String2Loc9, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str3, i64 0, i64 0), i64 31, i1 false)
  br label %bb

return:                                           ; No predecessors!
  ret void
}

define void @func_aligned() nounwind ssp {
; I386-LABEL: func_aligned:
; I386:       ## %bb.0: ## %entry
; I386-NEXT:    subl $44, %esp
; I386-NEXT:    movaps {{.*#+}} xmm0 = [1498564676,1313821779,1380982853,1095911247]
; I386-NEXT:    .p2align 4, 0x90
; I386-NEXT:  LBB1_1: ## %bb
; I386-NEXT:    ## =>This Inner Loop Header: Depth=1
; I386-NEXT:    movaps %xmm0, (%esp)
; I386-NEXT:    movl $4673097, {{[0-9]+}}(%esp) ## imm = 0x474E49
; I386-NEXT:    movl $1230132307, {{[0-9]+}}(%esp) ## imm = 0x49525453
; I386-NEXT:    movl $541347367, {{[0-9]+}}(%esp) ## imm = 0x20444E27
; I386-NEXT:    movl $840969293, {{[0-9]+}}(%esp) ## imm = 0x32202C4D
; I386-NEXT:    jmp LBB1_1
;
; CORE2-LABEL: func_aligned:
; CORE2:       ## %bb.0: ## %entry
; CORE2-NEXT:    movabsq $20070800167293728, %rax ## imm = 0x474E4952545320
; CORE2-NEXT:    movabsq $2325069237881678925, %rcx ## imm = 0x20444E2732202C4D
; CORE2-NEXT:    movabsq $4706902966564560965, %rdx ## imm = 0x4152474F52502045
; CORE2-NEXT:    movabsq $5642821575076104260, %rsi ## imm = 0x4E4F545359524844
; CORE2-NEXT:    .p2align 4, 0x90
; CORE2-NEXT:  LBB1_1: ## %bb
; CORE2-NEXT:    ## =>This Inner Loop Header: Depth=1
; CORE2-NEXT:    movq %rax, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    movq %rcx, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    movq %rdx, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    movq %rsi, -{{[0-9]+}}(%rsp)
; CORE2-NEXT:    jmp LBB1_1
;
; COREI7-LABEL: func_aligned:
; COREI7:       ## %bb.0: ## %entry
; COREI7-NEXT:    movups _.str3+15(%rip), %xmm0
; COREI7-NEXT:    movups _.str3(%rip), %xmm1
; COREI7-NEXT:    .p2align 4, 0x90
; COREI7-NEXT:  LBB1_1: ## %bb
; COREI7-NEXT:    ## =>This Inner Loop Header: Depth=1
; COREI7-NEXT:    movups %xmm0, -{{[0-9]+}}(%rsp)
; COREI7-NEXT:    movaps %xmm1, -{{[0-9]+}}(%rsp)
; COREI7-NEXT:    jmp LBB1_1
entry:
  %String2Loc = alloca [31 x i8], align 16
  br label %bb

bb:                                               ; preds = %bb, %entry
  %String2Loc9 = getelementptr inbounds [31 x i8], [31 x i8]* %String2Loc, i64 0, i64 0
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %String2Loc9, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str3, i64 0, i64 0), i64 31, i1 false)
  br label %bb

return:                                           ; No predecessors!
  ret void
}

declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) nounwind
