[PATCH] Add support for ARM modified immediate syntax

Mihail Popa mihail.popa at gmail.com
Tue Aug 20 10:06:44 PDT 2013


Hi.

In this latest continuation of our saga, I submit you the patch completed
with disassembly support.
As discussed previously, the "rii" instruction are declared in separate
decoder namespace.
When an instruction taking a modified immediate is disassembled, we get a
match in both
namespaces:

1. the normal namespace contains the "ri" instruction with simplified 1
operand form
2. the new namespace yields the "rii" instruction with 2 operand form.

Version 1 is return iff the encoding is in canonical format (i.e. rotator
field is minimal).

The problem locating the operands was actually due to a tablegen
wierdishness.
I was writing stuff like:

bits<5> x;
Inst{3-0} = x{4..1}

which works fine for assembly, but for disassembly seems to work ... ehmm..
intermittently.

Mihai




On Mon, Aug 19, 2013 at 7:40 PM, Tim Northover <t.p.northover at gmail.com>wrote:

> > Good for you. To be clear, I have nothing against the unified
> representation
> > as long as the changes are confined to the MC layer. If this affects any
> > layer above, it's wrong to do it.
>
> Which is unfortunate, because that's what I'm working on now.
>
> Tim.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130820/e4b166fd/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LLVM-759.modimm.patch
Type: application/octet-stream
Size: 39801 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130820/e4b166fd/attachment.obj>


More information about the llvm-commits mailing list