The order of the operands for intel syntax is reverse to the order of the operands for AT&T syntax:
ins mem8/16/32, DX
outs DX, mem8/12/32
Current implementation causes "invalid operand for instruction" error for MS inline assembly.
Details
Details
- Reviewers
dwmw2 rnk - Commits
- rGef2f421da17d: Merging r243001: --------------------------------------------------------------…
rGffcc7663a204: [X86] Fix order of operands for ins and outs instructions when parsing intel…
rL243001: [X86] Fix order of operands for ins and outs instructions when parsing intel…
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/X86/AsmParser/X86AsmParser.cpp | ||
---|---|---|
2231–2236 ↗ | (On Diff #30110) | We should fix this by writing a helper method with a signature like the following: addDefaultSrcDestOperands(Operands, Src, Dst); It eliminates an error-prone construct and reduces duplication. |