[LLVMdev] Increase the number of registers in ARM
Amir Yazdanbakhsh
amir.yazdanbakhsh at gmail.com
Thu Dec 6 18:43:35 PST 2012
I almost change all the instruction formats. It was a huge work. I am going
to compile and run it now.
Best Regards,
A. Yazdanbakhsh
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PhD. Student
School of Electrical and Computer Engineering
University of Wisconsin-Madison
E-mail: yazdanbakhsh at wisc.edu
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
On Thu, Dec 6, 2012 at 7:27 PM, 陳韋任 (Wei-Ren Chen) <chenwj at iis.sinica.edu.tw
> wrote:
> On Thu, Dec 06, 2012 at 09:13:53AM +0000, David Chisnall wrote:
> > On 6 Dec 2012, at 07:46, 陳韋任 (Wei-Ren Chen) wrote:
> >
> > > The code below in lib/Target/ARM/ARMRegisterInfo.td is where you
> > > should look into,
> > >
> > > // Integer registers
> > > def R0 : ARMReg< 0, "r0">, DwarfRegNum<[0]>;
> > > def R1 : ARMReg< 1, "r1">, DwarfRegNum<[1]>;
> > >
> > > ...
> >
> > That's the easy part. ARM (AArch32) has 16 registers because register
> operands are stored in a 4-bit bitfield in the instructions. If you want
> to add more registers, then you will also need to modify the instruction
> encoding of every instruction, or place them in a separate namespace (as
> with the NEON / VFP registers) and add instructions for explicitly
> modifying them.
>
> Oh, I miss that part. So since the ARM only save 4 bits for register
> operand, I don't see there is a easy way to do what you said. Sounds
> like a huge work?
>
> Regards,
> chenwj
>
> --
> Wei-Ren Chen (陳韋任)
> Computer Systems Lab, Institute of Information Science,
> Academia Sinica, Taiwan (R.O.C.)
> Tel:886-2-2788-3799 #1667
> Homepage: http://people.cs.nctu.edu.tw/~chenwj
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121206/50f90b17/attachment.html>
More information about the llvm-dev
mailing list