blob: 0537075aac382e55adad3121efc294088af32ca0 [file] [log] [blame]
Clement Courbet1ce3b822017-04-21 09:20:39 +00001; RUN: llc -mtriple=x86_64-linux-gnu -mattr=-fast-string < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOFAST
2; RUN: llc -mtriple=x86_64-linux-gnu -mattr=+fast-string < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=FAST
Clement Courbeta7c233f2017-04-21 09:20:44 +00003; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=haswell < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=HASWELL
4; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=generic < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=GENERIC
Clement Courbet1ce3b822017-04-21 09:20:39 +00005
6%struct.large = type { [4096 x i8] }
7
8declare void @foo(%struct.large* align 8 byval) nounwind
9
10define void @test1(%struct.large* nocapture %x) nounwind {
11 call void @foo(%struct.large* align 8 byval %x)
12 ret void
13
14; ALL-LABEL: test1:
15; NOFAST: rep;movsq
Clement Courbeta7c233f2017-04-21 09:20:44 +000016; GENERIC: rep;movsq
Clement Courbet1ce3b822017-04-21 09:20:39 +000017; FAST: rep;movsb
Clement Courbeta7c233f2017-04-21 09:20:44 +000018; HASWELL: rep;movsb
Clement Courbet1ce3b822017-04-21 09:20:39 +000019}