diff --git a/include/llvm/MC/MCInstrDesc.h b/include/llvm/MC/MCInstrDesc.h index 84d63804764..214b593f4ad 100644 --- a/include/llvm/MC/MCInstrDesc.h +++ b/include/llvm/MC/MCInstrDesc.h @@ -169,7 +169,7 @@ public: std::string &Info) const { if (ComplexDeprecationInfo) return ComplexDeprecationInfo(MI, STI, Info); - if (DeprecatedFeatureMask != 0) { + if ((DeprecatedFeatureMask & STI.getFeatureBits()) != 0) { // FIXME: it would be nice to include the subtarget feature here. Info = "deprecated"; return true; diff --git a/test/MC/ARM/deprecated-v8.s b/test/MC/ARM/deprecated-v8.s index b365cd198a5..f3939bbf7f7 100644 --- a/test/MC/ARM/deprecated-v8.s +++ b/test/MC/ARM/deprecated-v8.s @@ -1,5 +1,8 @@ -@ RUN: llvm-mc -triple armv8 -show-encoding < %s 2>&1 | FileCheck %s +@ RUN: llvm-mc -triple armv8 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V8 +@ RUN: llvm-mc -triple armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7 setend be -@ CHECK: warning: deprecated +@ CHECK-V8: warning: deprecated +@ CHECK-V7-NOT: warning: deprecated mcr p8, #0, r5, c7, c5, #4 -@ CHECK: warning: deprecated on armv8 +@ CHECK-V8: warning: deprecated on armv8 +@ CHECK-V7-NOT: warning: deprecated on armv8