mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 06:32:24 +00:00
Add support for emitting 64-bit integers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22399 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f5d507e905
commit
39429617e0
@ -208,11 +208,38 @@ namespace llvm {
|
|||||||
OutputBuffer.push_back((X >> 0) & 255);
|
OutputBuffer.push_back((X >> 0) & 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void outxword(uint64_t X) {
|
||||||
|
if (isLittleEndian) {
|
||||||
|
OutputBuffer.push_back((X >> 0) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 8) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 16) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 24) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 32) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 40) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 48) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 56) & 255);
|
||||||
|
} else {
|
||||||
|
OutputBuffer.push_back((X >> 56) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 48) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 40) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 32) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 24) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 16) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 8) & 255);
|
||||||
|
OutputBuffer.push_back((X >> 0) & 255);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void outaddr32(unsigned X) {
|
||||||
|
outword(X);
|
||||||
|
}
|
||||||
|
void outaddr64(uint64_t X) {
|
||||||
|
outxword(X);
|
||||||
|
}
|
||||||
void outaddr(uint64_t X) {
|
void outaddr(uint64_t X) {
|
||||||
if (!is64Bit)
|
if (!is64Bit)
|
||||||
outword((unsigned)X);
|
outword((unsigned)X);
|
||||||
else
|
else
|
||||||
assert(0 && "Emission of 64-bit data not implemented yet!");
|
outxword(X);
|
||||||
}
|
}
|
||||||
|
|
||||||
// fix functions - Replace an existing entry at an offset.
|
// fix functions - Replace an existing entry at an offset.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user