summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets/PPC.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Basic/Targets/PPC.h')
-rw-r--r--clang/lib/Basic/Targets/PPC.h27
1 files changed, 7 insertions, 20 deletions
diff --git a/clang/lib/Basic/Targets/PPC.h b/clang/lib/Basic/Targets/PPC.h
index 6c132e3841f..85d898cda24 100644
--- a/clang/lib/Basic/Targets/PPC.h
+++ b/clang/lib/Basic/Targets/PPC.h
@@ -345,17 +345,10 @@ public:
break;
}
- switch (getTriple().getOS()) {
- case llvm::Triple::FreeBSD:
- case llvm::Triple::NetBSD:
- case llvm::Triple::OpenBSD:
- // FIXME: -mlong-double-128 is not yet supported on AIX.
- case llvm::Triple::AIX:
+ if (Triple.isOSFreeBSD() || Triple.isOSNetBSD() || Triple.isOSOpenBSD() ||
+ Triple.getOS() == llvm::Triple::AIX || Triple.isMusl()) {
LongDoubleWidth = LongDoubleAlign = 64;
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
- break;
- default:
- break;
}
// PPC32 supports atomics up to 4 bytes.
@@ -386,19 +379,13 @@ public:
ABI = Triple.getEnvironment() == llvm::Triple::ELFv2 ? "elfv2" : "elfv1";
}
- switch (Triple.getOS()) {
- case llvm::Triple::FreeBSD:
- LongDoubleWidth = LongDoubleAlign = 64;
- LongDoubleFormat = &llvm::APFloat::IEEEdouble();
- break;
- case llvm::Triple::AIX:
- // FIXME: -mlong-double-128 is not yet supported on AIX.
+ if (Triple.getOS() == llvm::Triple::AIX)
+ SuitableAlign = 64;
+
+ if (Triple.isOSFreeBSD() || Triple.getOS() == llvm::Triple::AIX ||
+ Triple.isMusl()) {
LongDoubleWidth = LongDoubleAlign = 64;
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
- SuitableAlign = 64;
- break;
- default:
- break;
}
// PPC64 supports atomics up to 8 bytes.
OpenPOWER on IntegriCloud