[LLVMdev] Paired register allocation problem

Anton Korobeynikov anton at korobeynikov.info
Mon Feb 22 06:47:38 PST 2010

Hello, Artur

> I have defined registers, aliases and subregister set.
> The problem is that register allocator is using 32bit registers that are
> already used in a pair, for example:
> lw $r0, 16[$r12]   // load word to r0
> ld $p0, 36[$r12]   // load doubleword to p0
> shl $p0, $p0, $r0    // shift left p0 by r0  and store result in p0
> where p0 is a pair r0:r1
> Could anyone tell me what am I doing wrong?
Have you defined aliases properly? Look how this is handled inside
s390 backend (systemz).
Note that in general you'll need to write "paired" reg-reg mov pseudo

With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University

More information about the llvm-dev mailing list