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 | 86534439022b2603a5ca7d9c5f213d162e8a89ec (patch) | |
| tree | bee9f3d9e7c80243f31c20317b1a7b895e3e4775 /llvm/lib | |
| parent | c7ae6101a4a347775df15352571f5fc34f442ca8 (diff) | |
| download | bcm5719-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.cpp | 5 |
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; |

