subtarget features

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.

I think i can just do what I want here with predicates

Have you thought about use the +mattr=+mips16,+micromips, etc..?

This is what we use to enable/disable features for a specific architecture(including 64bit support for a 32bit device).