[LLVMdev] MIPS 32bit code generation
Jim Grosbach
grosbach at apple.com
Fri Oct 7 13:41:46 PDT 2011
I reiterate. You should fix the simulator. It is broken. The compiler is not. Fix what's broken.
-Jim
On Oct 7, 2011, at 1:11 PM, Gang-Ryung Uh wrote:
> Hi,
>
> I noticed one class in MipsInstrFormats.td:L46 -> Class MipsPseudo. I wonder whether I can use this. If does, I wonder what would be the right way to use. Thanks,
>
>
>
> On Thu, Oct 6, 2011 at 11:29 AM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> Do you want to replace
>
> lui $2, %hi(g1)
> addiu $2, $2, %lo(g1)
>
> with this?
> la $2, g1
>
> If that is the case, you can add this pattern.
>
> def op_la : Operand<i32>;
>
> def LA :
> FI<0x09, (outs CPURegs:$dst), (ins op_la:$addr0, op_la:$addr1),
> "la $dst, $addr0", [(set CPURegs:$dst,
> (add (MipsHi tglobaladdr:$addr0), (MipsLo
> tglobaladdr:$addr1)))], IIAlu>;
>
> Note that you still need to find a way to print "g1" instead of "%hi(g1)".
>
> On Wed, Oct 5, 2011 at 4:01 PM, Gang-Ryung Uh <guh at boisestate.edu> wrote:
> > Hi,
> > In order to emit "la $4,ADDR" instead of lui followed by addiu to load
> > the data address, could you advise what is proper way to revise td files in
> > the MIPS target?
> > Thanks,
> >
> > --
> > Gang-Ryung Uh, Associate Professor
> > Department of Computer Science
> > College of Engineering, Boise State Univerisity
> > tel: 1 208 426-5691 e-mail:guh at boisestate.edu
> > http://cs.boisestate.edu/~uh
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> >
>
>
>
> --
> Gang-Ryung Uh, Associate Professor
> Department of Computer Science
> College of Engineering, Boise State Univerisity
> tel: 1 208 426-5691 e-mail:guh at boisestate.edu
> http://cs.boisestate.edu/~uh
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list