Don't use .quad to output double constants. The assembler must have a bug or

something, because the wrong bit patterns get output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16590 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Brian Gaeke 2004-09-29 19:59:06 +00:00
parent a96879a26d
commit 6fdd9e1f35
2 changed files with 4 additions and 2 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}