[LLVMdev] best way to implement complex addressing modes

Ralph Corderoy ralph at inputplus.co.uk
Thu Sep 7 02:22:49 PDT 2006


Hi Chris,

> On Wed, 6 Sep 2006, [UTF-8] Rafael Esp?ndola wrote:
> > The ARM has some very powerful and complex addressing modes. For
> > example, the  data processing instructions (and, orr, add, ..) have
> > an addressing mode that has 11 options (imm, reg, and 9 reg + some
> > shift).
> 
> I'm not sure exactly what the constraints you have are

For those interested, here's the kind of things you could do, at least
on older ARM architectures.

    # Jump-table dispatch.
    cmp r0, #42
    addls pc, pc, r0, lsl #2

    # Load first byte of 8-byte element from array at r1 indexed by r2.
    ldrb r0, [r1, r2, lsl #3]

I'd have thought PowerPC has some similarities?

Cheers,


Ralph.





More information about the llvm-dev mailing list