mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack
instructions to subtarget features and update tests to reflect. PR5717. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103136 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -74,6 +74,13 @@ protected:
|
||||
/// only so far)
|
||||
bool HasFP16;
|
||||
|
||||
/// HasHardwareDivide - True if subtarget supports [su]div
|
||||
bool HasHardwareDivide;
|
||||
|
||||
/// HasT2ExtractPack - True if subtarget supports thumb2 extract/pack
|
||||
/// instructions.
|
||||
bool HasT2ExtractPack;
|
||||
|
||||
/// stackAlignment - The minimum alignment known to hold of the stack frame on
|
||||
/// entry to the function and which must be maintained by every function.
|
||||
unsigned stackAlignment;
|
||||
@@ -117,14 +124,14 @@ protected:
|
||||
bool hasV6Ops() const { return ARMArchVersion >= V6; }
|
||||
bool hasV6T2Ops() const { return ARMArchVersion >= V6T2; }
|
||||
bool hasV7Ops() const { return ARMArchVersion >= V7A; }
|
||||
bool hasV7AOps() const { return ARMArchVersion == V7A; }
|
||||
bool hasV7MOps() const { return ARMArchVersion == V7M; }
|
||||
|
||||
bool hasVFP2() const { return ARMFPUType >= VFPv2; }
|
||||
bool hasVFP3() const { return ARMFPUType >= VFPv3; }
|
||||
bool hasNEON() const { return ARMFPUType >= NEON; }
|
||||
bool useNEONForSinglePrecisionFP() const {
|
||||
return hasNEON() && UseNEONForSinglePrecisionFP; }
|
||||
bool hasDivide() const { return HasHardwareDivide; };
|
||||
bool hasT2ExtractPack() const { return HasT2ExtractPack; };
|
||||
bool useVMLx() const {return hasVFP2() && !SlowVMLx; }
|
||||
|
||||
bool hasFP16() const { return HasFP16; }
|
||||
|
Reference in New Issue
Block a user