diff options
| author | Jim Grosbach <grosbach@apple.com> | 2011-11-15 19:29:45 +0000 |
|---|---|---|
| committer | Jim Grosbach <grosbach@apple.com> | 2011-11-15 19:29:45 +0000 |
| commit | 6efa7b98523e226e5457885adae66ebb61573fdf (patch) | |
| tree | 62a5661752502d74b18caf76fe35cd6b30e17bb4 /llvm/lib/Target/ARM | |
| parent | 197a895e75ad464411fde5b3310d41393c872c7b (diff) | |
| download | bcm5719-llvm-6efa7b98523e226e5457885adae66ebb61573fdf.tar.gz bcm5719-llvm-6efa7b98523e226e5457885adae66ebb61573fdf.zip | |
Thumb2 assembly parsing for mul.w in IT block fix.
When the 3rd operand is not a low-register, and the first two operands are
the same low register, the parser was incorrectly trying to use the 16-bit
instruction encoding.
rdar://10449281
llvm-svn: 144679
Diffstat (limited to 'llvm/lib/Target/ARM')
| -rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 1d66d125a0e..fda1c88e72e 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -4098,6 +4098,7 @@ bool ARMAsmParser::shouldOmitCCOutOperand(StringRef Mnemonic, // remove the cc_out operand. (!isARMLowRegister(static_cast<ARMOperand*>(Operands[3])->getReg()) || !isARMLowRegister(static_cast<ARMOperand*>(Operands[4])->getReg()) || + !isARMLowRegister(static_cast<ARMOperand*>(Operands[5])->getReg()) || !inITBlock() || (static_cast<ARMOperand*>(Operands[3])->getReg() != static_cast<ARMOperand*>(Operands[5])->getReg() && |

