summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/memcpy-struct-by-value.ll
blob: 0537075aac382e55adad3121efc294088af32ca0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
; RUN: llc -mtriple=x86_64-linux-gnu -mattr=-fast-string < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOFAST
; RUN: llc -mtriple=x86_64-linux-gnu -mattr=+fast-string < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=FAST
; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=haswell < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=HASWELL
; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=generic < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=GENERIC

%struct.large = type { [4096 x i8] }

declare void @foo(%struct.large* align 8 byval) nounwind

define void @test1(%struct.large* nocapture %x) nounwind {
  call void @foo(%struct.large* align 8 byval %x)
  ret void

; ALL-LABEL: test1:
; NOFAST: rep;movsq
; GENERIC: rep;movsq
; FAST: rep;movsb
; HASWELL: rep;movsb
}
OpenPOWER on IntegriCloud