ELF subtarget. The existing description string is moved from PPC64TargetInfo to its DarwinTargetInfo subclass, to avoid any changes to the Darwin ABI. PPC64TargetInfo now has two possible description strings: one for FreeBSD, which requires 8-byte alignment, and a default string that requires 16-byte alignment. I've added a test for PPC64 Linux to verify the 16-byte alignment. If somebody wants to add a separate test for FreeBSD, that would be great. Note that there is a companion patch to update the alignment information in LLVM, which I am committing now as well. llvm-svn: 166927
19 lines
378 B
C
19 lines
378 B
C
// REQUIRES: ppc64-registered-target
|
|
// RUN: %clang_cc1 -triple powerpc64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s
|
|
|
|
// CHECK: -f128:128:128-
|
|
|
|
struct S {
|
|
double a;
|
|
long double b;
|
|
};
|
|
|
|
// CHECK: %struct.{{[a-zA-Z0-9]+}} = type { double, ppc_fp128 }
|
|
|
|
long double test (struct S x)
|
|
{
|
|
return x.b;
|
|
}
|
|
|
|
// CHECK: %{{[0-9]}} = load ppc_fp128* %{{[a-zA-Z0-9]+}}, align 16
|