[LLVMdev] various mips16 and micro mips issues
reed kotler
rkotler at mips.com
Fri Jan 20 13:59:14 PST 2012
We are starting to look at the mips16 and micro mips ports.
There are various design issues that people may have some good input on.
Especially in how to structure the TD files and other optimizer issues.
Mips16 is sort of like thumb and Micro Mips like thumb2 as far as I
understand.
Mips16 or Micro Mips can live inside of either MIPS32 or MIPS64.
In gcc, it's possible using attributes to change the default mode of
compilation for a given compilation unit.
So you can start in Mips32 and for some function X go to Mips16 and then
go back to Mips32.
So then would Mips16 and Micro Mips just be features that are added to
certain processors, in terms of the td files?
I guess that clang can pass attributes through that can change a mode?
I'm not sure exactly how ARM solves this right now.
Also there is the other issue of the compiler deciding on it's own when
to switch say between Mips32 and Mips16 for example based on optimizer
criteria. I'm not sure if the Arm code generators are doing this at all.
Tia for any input.
Reed
More information about the llvm-dev
mailing list