mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Constants with multiple encodings (ARM):
An alternative syntax is available for a modified immediate constant that permits the programmer to specify the encoding directly. In this syntax, #<const> is instead written as #<byte>,#<rot>, where: <byte> is the numeric value of abcdefgh, in the range 0-255 <rot> is twice the numeric value of rotation, an even number in the range 0-30. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128897 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -136,9 +136,10 @@ static void printSOImm(raw_ostream &O, int64_t V, raw_ostream *CommentStream,
|
||||
unsigned Rot = ARM_AM::getSOImmValRot(V);
|
||||
|
||||
// Print low-level immediate formation info, per
|
||||
// A5.1.3: "Data-processing operands - Immediate".
|
||||
// A5.2.3: Data-processing (immediate), and
|
||||
// A5.2.4: Modified immediate constants in ARM instructions
|
||||
if (Rot) {
|
||||
O << "#" << Imm << ", " << Rot;
|
||||
O << "#" << Imm << ", #" << Rot;
|
||||
// Pretty printed version.
|
||||
if (CommentStream)
|
||||
*CommentStream << (int)ARM_AM::rotr32(Imm, Rot) << "\n";
|
||||
|
Reference in New Issue
Block a user