[LLVMdev] subtarget features

reed kotler rkotler at mips.com
Wed May 16 20:35:33 PDT 2012


Is it possible to assign the value of subtarget features using more 
complex expressions with code as opposed to using the mechanism that 
tablegen affords.

For example, if Mips16 or Micro Mips is not present, then I want the 
subfeature "standard encoding".

If I can't do this, then it requires me to write a more complex 
expression for the "standard encoding" expresions.

For mips , mips16 and micro mips are considered to be processor 
extenasions to mips32 and mips64.

So usually you would build a mips32 or mips64 compiler and then add 
-mips16 to the command line.

Right now, there are no implementations of micro mips or mips16 with 
mips 64, though architecturally it is defined.

So the options would be:

-mips16 -mips32 -micromips -mips64

With the implications the -mips16 and -micromips both imply mips32 as 
the base architecture.

mips32 and mips64 have mostly the same instruction encoding (difference 
being the size of the
registers).

Ideally you would want:

standardencoding = !mips16 & !micrormips

then standardencoding is used to be a predicate for all non mips16 and 
micromips instructions.








More information about the llvm-dev mailing list