git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251125
91177308-0d34-0410-b5e6-
96231b3b80d8
Features.push_back("-crc");
if (Extensions & ARM::AEK_DSP)
Features.push_back("-crc");
if (Extensions & ARM::AEK_DSP)
- Features.push_back("+t2dsp");
+ Features.push_back("+dsp");
- Features.push_back("-t2dsp");
+ Features.push_back("-dsp");
return getHWDivFeatures(Extensions, Features);
}
return getHWDivFeatures(Extensions, Features);
}
def FeatureHasRAS : SubtargetFeature<"ras", "HasRAS", "true",
"Has return address stack">;
def FeatureHasRAS : SubtargetFeature<"ras", "HasRAS", "true",
"Has return address stack">;
-/// DSP extension (called "t2dsp" for backwards compatibility only).
-def FeatureDSP : SubtargetFeature<"t2dsp", "HasDSP", "true",
+/// DSP extension.
+def FeatureDSP : SubtargetFeature<"dsp", "HasDSP", "true",
"Supports DSP instructions in ARM and/or Thumb2">;
// Multiprocessing extension.
"Supports DSP instructions in ARM and/or Thumb2">;
// Multiprocessing extension.
// v8a: FeatureDB, FeatureFPARMv8, FeatureNEON, FeatureDSP,
// FeatureMP, FeatureHWDiv, FeatureHWDivARM, FeatureTrustZone,
// FeatureT2XtPk, FeatureCrypto, FeatureCRC
// v8a: FeatureDB, FeatureFPARMv8, FeatureNEON, FeatureDSP,
// FeatureMP, FeatureHWDiv, FeatureHWDivARM, FeatureTrustZone,
// FeatureT2XtPk, FeatureCrypto, FeatureCRC
- ARMArchFeature = "+v8,+db,+fp-armv8,+neon,+t2dsp,+mp,+hwdiv,+hwdiv-arm,"
+ ARMArchFeature = "+v8,+db,+fp-armv8,+neon,+dsp,+mp,+hwdiv,+hwdiv-arm,"
"+trustzone,+t2xtpk,+crypto,+crc";
else
// Use CPU to figure out the exact features
"+trustzone,+t2xtpk,+crypto,+crc";
else
// Use CPU to figure out the exact features
// v8.1a: FeatureDB, FeatureFPARMv8, FeatureNEON, FeatureDSP,
// FeatureMP, FeatureHWDiv, FeatureHWDivARM, FeatureTrustZone,
// FeatureT2XtPk, FeatureCrypto, FeatureCRC, FeatureV8_1a
// v8.1a: FeatureDB, FeatureFPARMv8, FeatureNEON, FeatureDSP,
// FeatureMP, FeatureHWDiv, FeatureHWDivARM, FeatureTrustZone,
// FeatureT2XtPk, FeatureCrypto, FeatureCRC, FeatureV8_1a
- ARMArchFeature = "+v8.1a,+db,+fp-armv8,+neon,+t2dsp,+mp,+hwdiv,+hwdiv-arm,"
+ ARMArchFeature = "+v8.1a,+db,+fp-armv8,+neon,+dsp,+mp,+hwdiv,+hwdiv-arm,"
"+trustzone,+t2xtpk,+crypto,+crc";
else
// Use CPU to figure out the exact features
"+trustzone,+t2xtpk,+crypto,+crc";
else
// Use CPU to figure out the exact features
if (NoCPU)
// v7em: FeatureNoARM, FeatureDB, FeatureHWDiv, FeatureDSP,
// FeatureT2XtPk, FeatureMClass
if (NoCPU)
// v7em: FeatureNoARM, FeatureDB, FeatureHWDiv, FeatureDSP,
// FeatureT2XtPk, FeatureMClass
- ARMArchFeature = "+v7,+noarm,+db,+hwdiv,+t2dsp,+t2xtpk,+mclass";
+ ARMArchFeature = "+v7,+noarm,+db,+hwdiv,+dsp,+t2xtpk,+mclass";
else
// Use CPU to figure out the exact features.
ARMArchFeature = "+v7";
else
// Use CPU to figure out the exact features.
ARMArchFeature = "+v7";
if (NoCPU)
// v7s: FeatureNEON, FeatureDB, FeatureDSP, FeatureHasRAS
// Swift
if (NoCPU)
// v7s: FeatureNEON, FeatureDB, FeatureDSP, FeatureHasRAS
// Swift
- ARMArchFeature = "+v7,+swift,+neon,+db,+t2dsp,+ras";
+ ARMArchFeature = "+v7,+swift,+neon,+db,+dsp,+ras";
else
// Use CPU to figure out the exact features.
ARMArchFeature = "+v7";
else
// Use CPU to figure out the exact features.
ARMArchFeature = "+v7";
// features.
if (NoCPU)
// v7a: FeatureNEON, FeatureDB, FeatureDSP, FeatureT2XtPk
// features.
if (NoCPU)
// v7a: FeatureNEON, FeatureDB, FeatureDSP, FeatureT2XtPk
- ARMArchFeature = "+v7,+neon,+db,+t2dsp,+t2xtpk";
+ ARMArchFeature = "+v7,+neon,+db,+dsp,+t2xtpk";
else
// Use CPU to figure out the exact features.
ARMArchFeature = "+v7";
else
// Use CPU to figure out the exact features.
ARMArchFeature = "+v7";
-; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+t2dsp %s -o - | FileCheck %s
+; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+dsp %s -o - | FileCheck %s
define i32 @smulhi(i32 %x, i32 %y) {
; CHECK: smulhi
define i32 @smulhi(i32 %x, i32 %y) {
; CHECK: smulhi
-; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+t2xtpk,+t2dsp %s -o - | FileCheck %s
-; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+t2xtpk,+t2dsp -arm-use-mulops=false %s -o - | FileCheck %s -check-prefix=NO_MULOPS
+; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+t2xtpk,+dsp %s -o - | FileCheck %s
+; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+t2xtpk,+dsp -arm-use-mulops=false %s -o - | FileCheck %s -check-prefix=NO_MULOPS
define i32 @f3(i32 %a, i16 %x, i32 %y) {
; CHECK: f3
define i32 @f3(i32 %a, i16 %x, i32 %y) {
; CHECK: f3
-; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+t2xtpk,+t2dsp %s -o - | FileCheck %s
+; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2,+t2xtpk,+dsp %s -o - | FileCheck %s
@x = weak global i16 0 ; <i16*> [#uses=1]
@y = weak global i16 0 ; <i16*> [#uses=0]
@x = weak global i16 0 ; <i16*> [#uses=1]
@y = weak global i16 0 ; <i16*> [#uses=0]