On spacv8 f128 is only aligned to 64 bits.

LLVM already got this right.

Found on "Figure 3-1: Scalar Types" on http://sparc.com/standards/psABI3rd.pdf.

llvm-svn: 197651
This commit is contained in:
Rafael Espindola 2013-12-19 03:03:04 +00:00
parent e8d9f8dd01
commit dc265edb3b
2 changed files with 2 additions and 4 deletions

View File

@ -4506,9 +4506,7 @@ void SparcTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases,
class SparcV8TargetInfo : public SparcTargetInfo {
public:
SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
// FIXME: Support Sparc quad-precision long double?
DescriptionString = "E-p:32:32-"
"i64:64-n32-S64";
DescriptionString = "E-p:32:32-i64:64-f128:64-n32-S64";
}
virtual void getTargetDefines(const LangOptions &Opts,

View File

@ -24,7 +24,7 @@
// RUN: %clang_cc1 -triple sparc-sun-solaris -emit-llvm -o - %s | \
// RUN: FileCheck %s --check-prefix=SPARC-V8
// SPARC-V8: target datalayout = "E-p:32:32-i64:64-n32-S64"
// SPARC-V8: target datalayout = "E-p:32:32-i64:64-f128:64-n32-S64"
// RUN: %clang_cc1 -triple sparcv9-sun-solaris -emit-llvm -o - %s | \
// RUN: FileCheck %s --check-prefix=SPARC-V9