Fix a FIXME :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53789 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/DarwinTargetAsmInfo.cpp b/lib/Target/DarwinTargetAsmInfo.cpp
index 971623d..311126d 100644
--- a/lib/Target/DarwinTargetAsmInfo.cpp
+++ b/lib/Target/DarwinTargetAsmInfo.cpp
@@ -32,9 +32,9 @@
SectionFlags::Mergeable);
EightByteConstantSection_ = getUnnamedSection("\t.literal8\n",
SectionFlags::Mergeable);
- // FIXME: Check for 64 bit
- SixteenByteConstantSection_ = getUnnamedSection("\t.literal16\n",
- SectionFlags::Mergeable);
+ // Note: 16-byte constant section is subtarget specific and should be provided
+ // there.
+
ReadOnlySection_ = getUnnamedSection("\t.const\n", SectionFlags::None);
// FIXME: These should be named sections, really.
@@ -114,9 +114,8 @@
return FourByteConstantSection_;
else if (Size == 8)
return EightByteConstantSection_;
- // FIXME: 64 bit
- /*else if (Size == 16 && DTM->getSubtarget<X86Subtarget>().is64Bit())
- return SixteenByteConstantSection_;*/
+ else if (Size == 16 && SixteenByteConstantSection_)
+ return SixteenByteConstantSection_;
return getReadOnlySection_();
}
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index 0e634c6..f7443c3 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -148,6 +148,8 @@
// FIXME: Why don't always use this section?
if (is64Bit) {
SixteenByteConstantSection = "\t.literal16\n";
+ SixteenByteConstantSection_ = getUnnamedSection("\t.literal16\n",
+ SectionFlags::Mergeable);
}
ReadOnlySection = "\t.const\n";