diff options
author | Bradley Smith <bradley.smith@arm.com> | 2016-01-15 10:26:17 +0000 |
---|---|---|
committer | Bradley Smith <bradley.smith@arm.com> | 2016-01-15 10:26:17 +0000 |
commit | a1189106d5a1b9e9ff57ea6fa53c24e891f1d09c (patch) | |
tree | 8b948d68b54961bb5d8084f27d023833c2dbd172 /llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | |
parent | 519563e371e6d4294b1a62ffe444bf68d6267cc8 (diff) | |
download | bcm5719-llvm-a1189106d5a1b9e9ff57ea6fa53c24e891f1d09c.tar.gz bcm5719-llvm-a1189106d5a1b9e9ff57ea6fa53c24e891f1d09c.zip |
[ARM] Add B.W and CBZ instructions to ARMv8-M Baseline
llvm-svn: 257881
Diffstat (limited to 'llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index c69a741244c..5a63f04d6ab 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -269,6 +269,9 @@ class ARMAsmParser : public MCTargetAsmParser { bool hasV8Ops() const { return getSTI().getFeatureBits()[ARM::HasV8Ops]; } + bool hasV8MBaseline() const { + return getSTI().getFeatureBits()[ARM::HasV8MBaselineOps]; + } bool hasARM() const { return !getSTI().getFeatureBits()[ARM::FeatureNoARM]; } @@ -4673,14 +4676,14 @@ void ARMAsmParser::cvtThumbBranches(MCInst &Inst, // classify tB as either t2B or t1B based on range of immediate operand case ARM::tB: { ARMOperand &op = static_cast<ARMOperand &>(*Operands[ImmOp]); - if (!op.isSignedOffset<11, 1>() && isThumbTwo()) + if (!op.isSignedOffset<11, 1>() && isThumb() && hasV8MBaseline()) Inst.setOpcode(ARM::t2B); break; } // classify tBcc as either t2Bcc or t1Bcc based on range of immediate operand case ARM::tBcc: { ARMOperand &op = static_cast<ARMOperand &>(*Operands[ImmOp]); - if (!op.isSignedOffset<8, 1>() && isThumbTwo()) + if (!op.isSignedOffset<8, 1>() && isThumb() && hasV8MBaseline()) Inst.setOpcode(ARM::t2Bcc); break; } |