Simplify fp80 handling in DtoConstFP

This commit is contained in:
Christian Kamm
2008-10-06 21:27:29 +02:00
parent 1165edee29
commit 0bd282113b

View File

@@ -535,13 +535,7 @@ llvm::ConstantFP* DtoConstFP(Type* t, long double value)
else if(llty == LLType::X86_FP80Ty) {
uint64_t bits[] = {0, 0};
bits[1] = *(uint16_t*)&value;
bits[0] = *((uint16_t*)&value + 4);
bits[0] <<= 16;
bits[0] += *((uint16_t*)&value + 3);
bits[0] <<= 16;
bits[0] += *((uint16_t*)&value + 2);
bits[0] <<= 16;
bits[0] += *((uint16_t*)&value + 1);
bits[0] = *(uint64_t*)((uint16_t*)&value + 1);
return LLConstantFP::get(APFloat(APInt(80, 2, bits)));
} else {
assert(0 && "Unknown floating point type encountered");