aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-08-17 06:48:16 +0000
committerChris Lattner <sabre@nondot.org>2004-08-17 06:48:16 +0000
commite85a5a9f40eb78ea002b47b9d70e66404b3eb52f (patch)
treeb5151d400144a126e5caf95ce61cd704df034fbd
parent79835d9f9fd6890249414c55b5f4fd80a355eb65 (diff)
Add support for targets that have .quad, drop extra tab inserted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15870 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/AsmPrinter.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp
index 7773274eed..92707528f9 100644
--- a/lib/CodeGen/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter.cpp
@@ -31,11 +31,8 @@ bool AsmPrinter::doFinalization(Module &M) {
void AsmPrinter::setupMachineFunction(MachineFunction &MF) {
// What's my mangled name?
CurrentFnName = Mang->getValueName((Value*)MF.getFunction());
-
}
-
-
// Print out the specified constant, without a storage class. Only the
// constants valid in constant expressions can occur here.
void AsmPrinter::emitConstantValueOnly(const Constant *CV) {
@@ -203,7 +200,9 @@ void AsmPrinter::emitGlobalConstant(const Constant *CV) {
} U;
U.FVal = Val;
- if (TD.isBigEndian()) {
+ if (Data64bitsDirective)
+ O << Data64bitsDirective << U.UVal << "\n";
+ else if (TD.isBigEndian()) {
O << Data32bitsDirective << unsigned(U.UVal >> 32)
<< "\t; double most significant word " << Val << "\n";
O << Data32bitsDirective << unsigned(U.UVal)
@@ -229,7 +228,9 @@ void AsmPrinter::emitGlobalConstant(const Constant *CV) {
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
uint64_t Val = CI->getRawValue();
- if (TD.isBigEndian()) {
+ if (Data64bitsDirective)
+ O << Data64bitsDirective << Val << "\n";
+ else if (TD.isBigEndian()) {
O << Data32bitsDirective << unsigned(Val >> 32)
<< "\t; Double-word most significant word " << Val << "\n";
O << Data32bitsDirective << unsigned(Val)
@@ -245,7 +246,6 @@ void AsmPrinter::emitGlobalConstant(const Constant *CV) {
}
const Type *type = CV->getType();
- O << "\t";
switch (type->getTypeID()) {
case Type::UByteTyID: case Type::SByteTyID:
O << Data8bitsDirective;