// RUN: %clang_cc1 -triple x86_64-linux -emit-llvm -target-feature +sse2 < %s | FileCheck %s --check-prefixes=CHECK // RUN: %clang_cc1 -triple x86_64-linux -emit-llvm -target-feature -sse2 < %s | FileCheck %s --check-prefixes=CHECK struct st1 { __float128 a; }; struct st1 h1(__float128 a) { // CHECK: define{{.*}}fp128 @h1(fp128 struct st1 x; x.a = a; return x; } __float128 h2(struct st1 x) { // CHECK: define{{.*}}fp128 @h2(fp128 return x.a; } struct st2 { __float128 a; int b; }; struct st2 h3(__float128 a, int b) { // CHECK: define{{.*}}void @h3(ptr {{.*}}sret(%struct.st2) struct st2 x; x.a = a; x.b = b; return x; } __float128 h4(struct st2 x) { // CHECK: define{{.*}}fp128 @h4(ptr {{.*}}byval(%struct.st2) return x.a; }