1 // RUN: %clang_cc1 -triple x86_64-linux -emit-llvm -target-feature +sse2 < %s | FileCheck %s --check-prefixes=CHECK 2 // RUN: %clang_cc1 -triple x86_64-linux -emit-llvm -target-feature -sse2 < %s | FileCheck %s --check-prefixes=CHECK 3 4 struct st1 { 5 __float128 a; 6 }; 7 h1(__float128 a)8struct st1 h1(__float128 a) { 9 // CHECK: define{{.*}}fp128 @h1(fp128 10 struct st1 x; 11 x.a = a; 12 return x; 13 } 14 h2(struct st1 x)15__float128 h2(struct st1 x) { 16 // CHECK: define{{.*}}fp128 @h2(fp128 17 return x.a; 18 } 19 20 struct st2 { 21 __float128 a; 22 int b; 23 }; 24 h3(__float128 a,int b)25struct st2 h3(__float128 a, int b) { 26 // CHECK: define{{.*}}void @h3(ptr {{.*}}sret(%struct.st2) 27 struct st2 x; 28 x.a = a; 29 x.b = b; 30 return x; 31 } 32 h4(struct st2 x)33__float128 h4(struct st2 x) { 34 // CHECK: define{{.*}}fp128 @h4(ptr {{.*}}byval(%struct.st2) 35 return x.a; 36 } 37