1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=core2 | FileCheck %s --check-prefix=CORE2 3; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=nehalem | FileCheck %s --check-prefix=NEHALEM 4; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=bdver2 | FileCheck %s --check-prefix=BDVER2 5; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=btver2 | FileCheck %s --check-prefix=BTVER2 6 7declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i1) 8 9define void @copy16bytes(ptr nocapture %a, ptr nocapture readonly %b) { 10; CORE2-LABEL: copy16bytes: 11; CORE2: ## %bb.0: 12; CORE2-NEXT: movq (%rsi), %rax 13; CORE2-NEXT: movq 8(%rsi), %rcx 14; CORE2-NEXT: movq %rcx, 8(%rdi) 15; CORE2-NEXT: movq %rax, (%rdi) 16; CORE2-NEXT: retq 17; 18; NEHALEM-LABEL: copy16bytes: 19; NEHALEM: ## %bb.0: 20; NEHALEM-NEXT: movups (%rsi), %xmm0 21; NEHALEM-NEXT: movups %xmm0, (%rdi) 22; NEHALEM-NEXT: retq 23; 24; BDVER2-LABEL: copy16bytes: 25; BDVER2: ## %bb.0: 26; BDVER2-NEXT: vmovups (%rsi), %xmm0 27; BDVER2-NEXT: vmovups %xmm0, (%rdi) 28; BDVER2-NEXT: retq 29; 30; BTVER2-LABEL: copy16bytes: 31; BTVER2: ## %bb.0: 32; BTVER2-NEXT: vmovups (%rsi), %xmm0 33; BTVER2-NEXT: vmovups %xmm0, (%rdi) 34; BTVER2-NEXT: retq 35 call void @llvm.memcpy.p0.p0.i64(ptr %a, ptr %b, i64 16, i1 false) 36 ret void 37 38 ; CHECK-LABEL: copy16bytes 39 40 41} 42