diff options
author | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2013-11-08 09:16:31 +0000 |
---|---|---|
committer | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2013-11-08 09:16:31 +0000 |
commit | 1b91231347c00bf1be46bdd5b27ae8c45fdc0d0c (patch) | |
tree | c74e477718e03fe715ab1666071fb75cc97c01ee /lib/Target/ARM/AsmParser | |
parent | 5f7259180c59b2830bf206b44439be32ffa9161e (diff) | |
download | llvm-1b91231347c00bf1be46bdd5b27ae8c45fdc0d0c.tar.gz llvm-1b91231347c00bf1be46bdd5b27ae8c45fdc0d0c.tar.bz2 llvm-1b91231347c00bf1be46bdd5b27ae8c45fdc0d0c.tar.xz |
[ARM] In ARMAsmParser, MatchCoprocessorOperandName() permitted p10 and p11 as operands for coprocessor instructions, resulting in encodings that clash with FP/NEON instruction encodings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194253 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/AsmParser')
-rw-r--r-- | lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index ba6075e91d..c56fc9cfb7 100644 --- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -2872,8 +2872,9 @@ static int MatchCoprocessorOperandName(StringRef Name, char CoprocOp) { return -1; switch (Name[2]) { default: return -1; - case '0': return 10; - case '1': return 11; + // p10 and p11 are invalid for coproc instructions (reserved for FP/NEON) + case '0': return CoprocOp == 'p'? -1: 10; + case '1': return CoprocOp == 'p'? -1: 11; case '2': return 12; case '3': return 13; case '4': return 14; |