I found this the other day while surfing the web. For those wanting to understand about Mips 16, it's a very easy and quick read. If you already understand Mips, it will make the llvm Mips16 port much easier to understand. It has just the overview information one needs. Of course full Mips 16 documentation is available at Mips.com. -------------- next part -------------- A non-text attachment was scrubbed... Name: MIPS16_whitepaper.pdf Type: application/pdf Size: 54273 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130121/5ced18ca/attachment.pdf>
Please add this to <http://llvm.org/docs/CompilerWriterInfo.html> (docs/CompilerWriterInfo.rst) -- Sean Silva
On 01/21/2013 03:28 PM, Sean Silva wrote:> Please add this to <http://llvm.org/docs/CompilerWriterInfo.html> > (docs/CompilerWriterInfo.rst) > > -- Sean SilvaI will. I owe a very long mips16 write up , especially for floating point when I'm done. It's very complicated the way they implemented hard float in gcc and it is not documented. It took me some thinking and study to unravel it all. They do different things for pic/non pic and the interoperability with mips32 is what makes in complicated. I have come up with another totally different way to implement floating point in mips16 which I hope to have time to do in the future. It's probably about 2 months work but management wants me to do this gcc way first. My alternate design is a more true floating point implementation as opposed to the gcc method which is more or less a variant of soft-float which uses different runtime routines but it has a lot of complications with mips32 interoperability whereas my scheme has none of these issues and does not need any special helper functions.