37 lines · c
1// RUN: %clang_cc1 -triple x86_64-linux -emit-llvm -target-feature +sse2 < %s | FileCheck %s --check-prefixes=CHECK2// RUN: %clang_cc1 -triple x86_64-linux -emit-llvm -target-feature -sse2 < %s | FileCheck %s --check-prefixes=CHECK3 4struct st1 {5 __float128 a;6};7 8struct st1 h1(__float128 a) {9 // CHECK: define{{.*}}fp128 @h1(fp12810 struct st1 x;11 x.a = a;12 return x;13}14 15__float128 h2(struct st1 x) {16 // CHECK: define{{.*}}fp128 @h2(fp12817 return x.a;18}19 20struct st2 {21 __float128 a;22 int b;23};24 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 33__float128 h4(struct st2 x) {34 // CHECK: define{{.*}}fp128 @h4(ptr {{.*}}byval(%struct.st2)35 return x.a;36}37