mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 02:33:33 +00:00
MC: Fix .octa output for APInts with BitWidth > 128
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200615 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
075a90a913
commit
2d53a37573
@ -2335,7 +2335,8 @@ bool AsmParser::parseDirectiveOctaValue() {
|
|||||||
hi = 0;
|
hi = 0;
|
||||||
lo = IntValue.getZExtValue();
|
lo = IntValue.getZExtValue();
|
||||||
} else if (IntValue.isIntN(128)) {
|
} else if (IntValue.isIntN(128)) {
|
||||||
hi = IntValue.getHiBits(64).getZExtValue();
|
// It might actually have more than 128 bits, but the top ones are zero.
|
||||||
|
hi = IntValue.getHiBits(IntValue.getBitWidth() - 64).getZExtValue();
|
||||||
lo = IntValue.getLoBits(64).getZExtValue();
|
lo = IntValue.getLoBits(64).getZExtValue();
|
||||||
} else
|
} else
|
||||||
return Error(ExprLoc, "literal value out of range for directive");
|
return Error(ExprLoc, "literal value out of range for directive");
|
||||||
|
@ -71,13 +71,13 @@ TEST8:
|
|||||||
# CHECK: .long 2097153
|
# CHECK: .long 2097153
|
||||||
|
|
||||||
TEST9:
|
TEST9:
|
||||||
.octa 0x1234567812345678abcdef, 12345678901234567890123456789
|
.octa 0x1234567812345678abcdef, 340282366920938463463374607431768211455
|
||||||
.octa 0b00111010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010
|
.octa 0b00111010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010
|
||||||
# CHECK: TEST9
|
# CHECK: TEST9
|
||||||
# CHECK: .quad 8652035380128501231
|
# CHECK: .quad 8652035380128501231
|
||||||
# CHECK: .quad 1193046
|
# CHECK: .quad 1193046
|
||||||
# CHECK: .quad 5097733592125636885
|
# CHECK: .quad -1
|
||||||
# CHECK: .quad 669260594
|
# CHECK: .quad -1
|
||||||
# CHECK: .quad 6510615555426900570
|
# CHECK: .quad 6510615555426900570
|
||||||
# CHECK: .quad 4204772546213206618
|
# CHECK: .quad 4204772546213206618
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user