summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-09-29 19:59:06 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-09-29 19:59:06 +0000
commit47095da66147a8ceb3caafaeabc1b4cd5ec9a759 (patch)
tree97944ad1ad7b79a1eea6b15d01614cdb244d550c /llvm/lib/Target
parent6862fbd2cf4036282ca77b1304f59a79fea35ad8 (diff)
downloadbcm5719-llvm-47095da66147a8ceb3caafaeabc1b4cd5ec9a759.tar.gz
bcm5719-llvm-47095da66147a8ceb3caafaeabc1b4cd5ec9a759.zip
Don't use .quad to output double constants. The assembler must have a bug or
something, because the wrong bit patterns get output. llvm-svn: 16590
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp b/llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp
index c2a596873a4..56ec97a0882 100644
--- a/llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp
+++ b/llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp
@@ -261,7 +261,8 @@ void V8Printer::emitGlobalConstant(const Constant *CV) {
uint64_t UVal;
} U;
U.FVal = Val;
- O << ".quad\t" << U.UVal << "\t! double " << Val << "\n";
+ O << ".word\t0x" << std::hex << (U.UVal >> 32) << std::dec << "\t! double " << Val << "\n";
+ O << ".word\t0x" << std::hex << (U.UVal & 0xffffffffUL) << std::dec << "\t! double " << Val << "\n";
return;
}
}
OpenPOWER on IntegriCloud