summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorArtyom Skrobov <Artyom.Skrobov@arm.com>2013-11-08 09:16:31 +0000
committerArtyom Skrobov <Artyom.Skrobov@arm.com>2013-11-08 09:16:31 +0000
commit86534439022b2603a5ca7d9c5f213d162e8a89ec (patch)
treebee9f3d9e7c80243f31c20317b1a7b895e3e4775 /llvm/lib
parentc7ae6101a4a347775df15352571f5fc34f442ca8 (diff)
downloadbcm5719-llvm-86534439022b2603a5ca7d9c5f213d162e8a89ec.tar.gz
bcm5719-llvm-86534439022b2603a5ca7d9c5f213d162e8a89ec.zip
[ARM] In ARMAsmParser, MatchCoprocessorOperandName() permitted p10 and p11 as operands for coprocessor instructions, resulting in encodings that clash with FP/NEON instruction encodings
llvm-svn: 194253
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index ba6075e91df..c56fc9cfb71 100644
--- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud