| // RUN: %swift -disable-legacy-type-info -target x86_64-apple-macosx10.9 -module-name main %s -emit-ir -o - | %FileCheck %s |
| // RUN: %swift -disable-legacy-type-info -target i386-apple-ios7.0 %s -module-name main -emit-ir -o - | %FileCheck %s |
| // RUN: %swift -disable-legacy-type-info -target x86_64-apple-ios7.0 %s -module-name main -emit-ir -o - | %FileCheck %s |
| // RUN: %swift -disable-legacy-type-info -target armv7-apple-ios7.0 %s -module-name main -emit-ir -o - | %FileCheck %s |
| // RUN: %swift -disable-legacy-type-info -target arm64-apple-ios7.0 %s -module-name main -emit-ir -o - | %FileCheck %s |
| // RUN: %swift -disable-legacy-type-info -target x86_64-unknown-linux-gnu %s -disable-objc-interop -module-name main -emit-ir -o - | %FileCheck %s |
| |
| // REQUIRES: CODEGENERATOR=X86 |
| // REQUIRES: CODEGENERATOR=ARM |
| |
| import Builtin |
| |
| struct Pair<T> { |
| var fst: T, snd: T |
| } |
| |
| struct Huge { |
| var pairs: Pair<Pair<Pair<Pair<Pair<Pair<Pair<Pair<Pair<Builtin.Int64>>>>>>>>> |
| var unalign: Builtin.Int8 |
| } |
| |
| // CHECK: define linkonce_odr hidden i8* @__swift_memcpy4097_8(i8* %0, i8* %1, %swift.type* %2) |
| // CHECK: call void @llvm.memcpy.p0i8.p0i8.{{(i64|i32)}}(i8* align 8 %0, i8* align 8 %1, {{(i64|i32)}} 4097, i1 false) |
| // CHECK: ret i8* %0 |