llvm.org GIT mirror llvm / 9799e6f
[X86] Don't call validateInstruction from MatchAndEmitInstruction when MatchingInlineAsm is set. The MCInst won't be populated. Without this we can't parse gather instructions in ms inline asm blocks. The validateInstruction function was introduced in r316700 to check gather constraints. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317713 91177308-0d34-0410-b5e6-96231b3b80d8 Craig Topper 1 year, 11 months ago
1 changed file(s) with 2 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
27902790 isParsingIntelSyntax())) {
27912791 default: llvm_unreachable("Unexpected match result!");
27922792 case Match_Success:
2793 if (validateInstruction(Inst, Operands))
2793 if (!MatchingInlineAsm && validateInstruction(Inst, Operands))
27942794 return true;
27952795 // Some instructions need post-processing to, for example, tweak which
27962796 // encoding is selected. Loop on it while changes happen so the
30813081 // instruction will already have been filled in correctly, since the failing
30823082 // matches won't have modified it).
30833083 if (NumSuccessfulMatches == 1) {
3084 if (validateInstruction(Inst, Operands))
3084 if (!MatchingInlineAsm && validateInstruction(Inst, Operands))
30853085 return true;
30863086 // Some instructions need post-processing to, for example, tweak which
30873087 // encoding is selected. Loop on it while changes happen so the individual