42 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=core2 | FileCheck %s --check-prefix=CORE23; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=nehalem | FileCheck %s --check-prefix=NEHALEM4; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=bdver2 | FileCheck %s --check-prefix=BDVER25; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=btver2 | FileCheck %s --check-prefix=BTVER26 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), %rax13; CORE2-NEXT: movq 8(%rsi), %rcx14; CORE2-NEXT: movq %rcx, 8(%rdi)15; CORE2-NEXT: movq %rax, (%rdi)16; CORE2-NEXT: retq17;18; NEHALEM-LABEL: copy16bytes:19; NEHALEM: ## %bb.0:20; NEHALEM-NEXT: movups (%rsi), %xmm021; NEHALEM-NEXT: movups %xmm0, (%rdi)22; NEHALEM-NEXT: retq23;24; BDVER2-LABEL: copy16bytes:25; BDVER2: ## %bb.0:26; BDVER2-NEXT: vmovups (%rsi), %xmm027; BDVER2-NEXT: vmovups %xmm0, (%rdi)28; BDVER2-NEXT: retq29;30; BTVER2-LABEL: copy16bytes:31; BTVER2: ## %bb.0:32; BTVER2-NEXT: vmovups (%rsi), %xmm033; BTVER2-NEXT: vmovups %xmm0, (%rdi)34; BTVER2-NEXT: retq35 call void @llvm.memcpy.p0.p0.i64(ptr %a, ptr %b, i64 16, i1 false)36 ret void37 38 ; CHECK-LABEL: copy16bytes39 40 41}42