[LLVMdev] subtarget features

Villmow, Micah Micah.Villmow at amd.com
Thu May 17 13:27:13 PDT 2012


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).

> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of reed kotler
> Sent: Wednesday, May 16, 2012 8:36 PM
> To: ll >> "llvmdev at cs.uiuc.edu"
> Subject: [LLVMdev] 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.
> 
> 
> 
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev






More information about the llvm-dev mailing list