3c4ecd7dab5567017ad573769b0af484479bac6f |
|
10-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add support for .att_syntax directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8e70b5506ec0d7a6c2740bc89cd1b8f12a78b24f |
|
07-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
PR13754: llvm-mc/x86 crashes on .cfi directives without the % prefix for registers. gas accepts this and it seems to be common enough to be worth supporting. This doesn't affect the parsing of reg operands outside of .cfi directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5d637d7e93c1f6058c16b41b8ac7dd36c61b4a5c |
|
05-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
Fix function name per coding standard. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
2cc97def7434345e399e4f5f3f2001d6d7a93c6f |
|
03-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Asm operands can map to one or more MCOperands. Therefore, add the NumMCOperands argument to the GetMCInstOperandNum() function that is set to the number of MCOperands this asm operand mapped to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
038f3e31276f8cc86d91d0e4513e1a3ddb8509ba |
|
03-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add an interface to the GetMCInstOperandNum() function in the MCTargetAsmParser class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c4d2560a2010456f4eea0007eb71829d5668e7dd |
|
03-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
Removed unused argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3a86e1396230748f17a521915bc802939a787eac |
|
03-Sep-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Expose the Kind and Opcode variables from the MatchInstructionImpl() function. These values are used by the ConvertToMCInst() function to index into the ConversionTable. The values are also needed to call the GetMCInstOperandNum() function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5d04a560a875eef5cc7ae2bfadaf7d46ea8a60c5 |
|
31-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
The ConvertToMCInst() function can't fail, so remove the now dead Match_ConversionFail enum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
4ee0808d9f1c7d64b0b304e610ce0fb496dd3279 |
|
29-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
Typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
674101e6bb3742ae743e21e9b9ebec5946b1d273 |
|
22-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Avoid a false positive assertion Assertion failed: (Start.isValid() == End.isValid() && "Start and end should either both be valid or both be invalid!") when parsing inline asm. SMLoc assumes that the first char * in the source is invalid. However, when parsing an inline asm the mnemonic is at this location. I don't want to change SMLoc, so use a trivial workaround. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b4fdadef51ed254d9282356463c6b11ff8a102df |
|
21-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Do not report a Parser error when matching inline assembly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
64bfcbbc58ad485db157190496f0f39156b5a516 |
|
21-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Expose the ErrorInfo from the MatchInstructionImpl. In general, this is the index of the operand that failed to match. Note: This may cause a buildbot failure due to an API mismatch in clang. Should recover with my next commit to clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3246176838a47fa088b98772d4899063a9b7f731 |
|
10-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Extend the MC AsmParser API to match MCInsts (but not emit). This new API will be used by clang to parse ms-style inline asms. One goal of this project is to use this style of inline asm for targets other then x86. Therefore, this API needs to be implemented for non-x86 targets at some point in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
76bd9386f1e1487a49c7c34ff95078dea20e3154 |
|
18-Jul-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove tab characters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
833d7f85888c9f7f583eb9a09d1a135ee79ca643 |
|
18-Jul-2012 |
Craig Topper <craig.topper@gmail.com> |
Fix typo in error message and remove some tab characters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
75dc33a60b65bbbf2253b0b916df1d36a4da4237 |
|
18-Jul-2012 |
Craig Topper <craig.topper@gmail.com> |
Make x86 asm parser to check for xmm vs ymm for index register in gather instructions. Also fix Intel syntax for gather instructions to use 'DWORD PTR' or 'QWORD PTR' to match gas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
36b8fed61db8d772bf07ed828ff505ce15461bd7 |
|
28-Jun-2012 |
Chad Rosier <mcrosier@apple.com> |
Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
1f7a1b68a07ea6bdf521525a7928f4a8c5216713 |
|
26-Jun-2012 |
Manman Ren <mren@apple.com> |
X86: add GATHER intrinsics (AVX2) in LLVM Support the following intrinsics: llvm.x86.avx2.gather.d.pd, llvm.x86.avx2.gather.q.pd llvm.x86.avx2.gather.d.pd.256, llvm.x86.avx2.gather.q.pd.256 llvm.x86.avx2.gather.d.ps, llvm.x86.avx2.gather.q.ps llvm.x86.avx2.gather.d.ps.256, llvm.x86.avx2.gather.q.ps.256 Modified Disassembler to handle VSIB addressing mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9e6ddcb88ec40422c0ebd260567e2264ec424506 |
|
29-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Only allow symbolic names for (v)cmpss/sd/ps/pd encodings 8-31 to be used with 'v' version of instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
4e02f23de24375294005f88b5254a3775d39fcb2 |
|
27-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Prune some includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0f5ab7c5f392d8207a4b0c5bf1f8b274a9f410df |
|
13-Mar-2012 |
Kevin Enderby <enderby@apple.com> |
Change the X86 assembler to not require a segment register on string instruction's destination operand like it does for the source operand. Also fix a typo in the comment for X86AsmParser::isSrcOp(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
84faf659125cb354794e457fa5a8a8daad84760d |
|
12-Mar-2012 |
Kevin Enderby <enderby@apple.com> |
Added a missing error check for X86 assembly with mismatched base and index registers not both being 64-bit or both being 32-bit registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
58dfaa14651f36fc9fce2031eb011e65ae267b9f |
|
09-Mar-2012 |
Kevin Enderby <enderby@apple.com> |
Add the missing call to Error when a bad X86 scale expression is parsed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b80d571ea85db5d52fafed0523cf59e693502198 |
|
23-Feb-2012 |
Kevin Enderby <enderby@apple.com> |
Updated the llvm-mc disassembler C API to support for the X86 target. rdar://10873652 As part of this I updated the llvm-mc disassembler C API to always call the SymbolLookUp call back even if there is no getOpInfo call back. If there is a getOpInfo call back that is tried first and then if that gets no information then the SymbolLookUp is called. I also made the code more robust by memset(3)'ing to zero the LLVMOpInfo1 struct before then setting SymbolicOp.Value before for the call to getOpInfo. And also don't use any values from the LLVMOpInfo1 struct if getOpInfo returns 0. And also don't use any of the ReferenceType or ReferenceName values from SymbolLookUp if it returns NULL. rdar://10873563 and rdar://10873683 For the X86 target also fixed bugs so the annotations get printed. Also fixed a few places in the ARM target that was not producing symbolic operands for some instructions. rdar://10878166 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b0934ab7d811e23bf530371976b8b35f3242169c |
|
19-Feb-2012 |
Ahmed Charles <ace2001ac@gmail.com> |
Remove dead code. Improve llvm_unreachable text. Simplify some control flow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0db58bfecea020ffcdfa1fc6458995371e1c3c50 |
|
31-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Add assembler dialect attribute in asm parser which lets target specific asm parser change dialect on the fly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
885f65b4a1c1ec80cd800a0617c57a2289472165 |
|
30-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax. Adjust special code, used to recognize cmp<comparison code>{ss,sd,ps,pd}, for intel syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
be3e310d5ed8717f070acc71b0f4dae28cb08c4d |
|
30-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax. Support .intel_syntax directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a28101e61aa3aeed5baf3d5b91d0f8bcb4e9e12a |
|
27-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel Syntax: Parse mem operand with seg reg. QWORD PTR FS:[320] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cb5dca38157a48c734660746e7f7340d5db7c2db |
|
27-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Keep source location information for X86 MCFixup's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3b96e1fe3b695e6d845668ea90d75016f0f46a17 |
|
24-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel Syntax: Extend special hand coded logic, to recognize special instructions, for intel syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
392ad6d8aa5d1af7becbff4e01dd89dc44b7a00e |
|
24-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f2d213745e07e884c1616f2f3d0b78f9e918e5db |
|
23-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Robustify parsing of memory operand's displacement experssion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3e08131185d5b3245065eb027900aed56b607970 |
|
23-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Parse memory operand with empty base reg, e.g. DWORD PTR [4*RDI] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7c64fe651ad4581ac66b6407116144442a8a7f03 |
|
23-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Parse segment registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8608cc9473198f5e3db40f2155cb4e0c4260aaab |
|
21-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
1aea430b8834f7bed3a14eda5027eac2133d6496 |
|
20-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Robustify register parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
fdd3b30151bc391efce74f4592a9a3bb595565a2 |
|
20-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Parse ... PTR [-8] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a951f77ca31b43551bd41765504519d6d76e6cbf |
|
19-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Post process 'and', 'sub' instructions and select better encoding, if available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e60540f380cc9466f3b2f7d17adfd37db137689c |
|
19-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: There is no need to create unary expr for simple negative displacement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ac0f0486022fb1798579c9a550154e839770efa9 |
|
19-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Post process 'xor', 'or' and 'cmp' instructions and select better encoding, if available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b8ba13f0096b560ee618512019ca86969a9fa772 |
|
18-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Process instructions after match to select alternative encoding which may be more desirable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
6220fea2a877e5cff559ed38e98c59a076ea9825 |
|
17-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Parse "BYTE PTR [RDX + RCX]" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
bc51e501a0cd3d2bea770d07fe39ea5e87726cb4 |
|
17-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Untabify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9a3d293cf3f72b3c0ed5d4474fc5d4d12fd36be2 |
|
17-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Do not unncessarily create plus expression for memory operand displacement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d37ad247cc04c2a436e537767ac1aec709901594 |
|
17-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Intel syntax: Robustify memory operand parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
85d5aaecd03ca4bc6e406ee88c72a4ba8878bb2b |
|
13-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Revert r148131, it was committed before it was ready. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c798cc42831150f678b080c0994c1cc024bae653 |
|
13-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Refactor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
dd929fc704054fa79cc1171354f95d91a5b62de2 |
|
12-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Rename X86ATTAsmParser -> X86AsmParser We are using one parser to parse att as well as intel style syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c59d9df2487accc82c2d128bba2aaf029c4a077d |
|
12-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Add predicate method check match memory operand size, if available. In att style asm syntax memory operand size is derived from suffix attached with mnemonic. In intel style asm syntax it is part of memory operand hence predicate method check is required to select appropriate instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0a338868b746f29d6d72fd95e425ec8696ed8024 |
|
12-Jan-2012 |
Devang Patel <dpatel@apple.com> |
Add intel style operand parser skeleton. This is a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
590853667345d6fb191764b9d0bd2ff13589e3a3 |
|
06-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace (Lower|Upper)caseString in favor of StringRef's newest methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5efabcf01d1c9cdf7ac59a17d757c6ad4cdb112c |
|
16-Oct-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add AsmToken::getEndLoc and use it to add ranges to x86 asm register parsing. <stdin>:1:12: error: register %rax is only available in 64-bit mode incl %rax ^~~~ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f82edaffb1a6d41bc89d86c69f53962e63621aad |
|
16-Oct-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
X86AsmParser: Synthesize EndLoc for tokens out of StartLoc + Length and print ranges for invalid operands. <stdin>:1:4: error: invalid instruction mnemonic 'abc' abc incl %edi ^~~ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d8b7aa26134d2abee777f745c32005e63dea2455 |
|
16-Oct-2011 |
Chris Lattner <sabre@nondot.org> |
Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance the X86 asmparser to produce ranges in the one case that was annoying me, for example: test.s:10:15: error: invalid operand for instruction movl 0(%rax), 0(%edx) ^~~~~~~ It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use ranges where appropriate if someone is interested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 |
|
24-Aug-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetRegistry and TargetSelect from Target to Support where they belong. These are strictly utilities for registering targets and components. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
19cb7f491fbc7cb5d0bbd10e201f9d5093e6d4e5 |
|
16-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
MCTargetAsmParser target match predicate support. Allow a target assembly parser to do context sensitive constraint checking on a potential instruction match. This will be used, for example, to handle Thumb2 IT block parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5de728cfe1a922ac9b13546dca94526b2fa693b6 |
|
28-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Emit an error is asm parser parsed X86_64 only registers, e.g. %rax, %sil. This can happen in cases where TableGen generated asm matcher cannot check whether a register operand is in the right register class. e.g. mem operands. rdar://8204588 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c37d4bbf1f33c5e4b1c2f1bf1a6e2cae2ae5603a |
|
28-Jul-2011 |
Kevin Enderby <enderby@apple.com> |
Fix llvm-mc handing of x86 instructions that take 8-bit unsigned immediates. llvm-mc gives an "invalid operand" error for instructions that take an unsigned immediate which have the high bit set such as: pblendw $0xc5, %xmm2, %xmm1 llvm-mc treats all x86 immediates as signed values and range checks them. A small number of x86 instructions use the imm8 field as a set of bits. This change only changes those instructions and where the high bit is not ignored. The others remain unchanged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
bd27f5adbd8f3b8ab8def5aa43fbc406ac9b8cbe |
|
27-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Support .code32 and .code64 in X86 assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
94b9550a32d189704a8eae55505edf62662c0534 |
|
26-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a7cfc08ebe737062917b442830eb5321b0f79e89 |
|
23-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c60f9b752381baa6c4b80c0739034660f1748c84 |
|
14-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Next round of MC refactoring. This patch factor MC table instantiations, MC registeration and creation code into XXXMCDesc libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b7f689bab98777236a2bf600f299d232d246bb61 |
|
13-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Update MCParsedAsmOperand debug methods. Update the debug output interface for MCParsedAsmOperand to have a print() method which takes an output stream argument, an << operator which invokes the print method using the given stream, and a dump() method which prints the operand to the dbgs() stream. This makes the interface more consistent with the rest of LLVM, and more convenient to use at the debugger command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
59ee62d2418df8db499eca1ae17f5900dc2dcbba |
|
11-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfo and MCSubtargetInfo. - Added methods to update subtarget features (used when targets automatically detect subtarget features or switch modes). - Teach X86Subtarget to update MCSubtargetInfo features bits since the MCSubtargetInfo layer can be shared with other modules. - These fixes .code 16 / .code 32 support since mode switch is updated in MCSubtargetInfo so MC code emitter can do the right thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ffc0e73046f737d75e0a62b3a83ef19bcef111e3 |
|
09-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Change createAsmParser to take a MCSubtargetInfo instead of triple, CPU, and feature string. Parsing some asm directives can change subtarget state (e.g. .code 16) and it must be reflected in other modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance must be shared. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
75ca4b94bd9dcd3952fdc237429342a2154ba142 |
|
08-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Plug a leak by giving the AsmParser ownership of the MCSubtargetInfo. Found by valgrind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
480cee5d4396a380ada6ffd03551b5700d041fe0 |
|
08-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
TargetAsmParser doesn't need reference to Target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ebdeeab812beec0385b445f3d4c41a114e0d972f |
|
08-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate asm parser's dependency on TargetMachine: - Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
af45b3d8cb1b88d3cf775542996d78d8ce009274 |
|
05-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add assembler/disassembler support for non-AVX pclmulqdq. While I'm here, use proper aliases for the pclmullqlqdq and friends. PR10269. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
15f895179953b258e4ca20860d0d58f25f3a3edb |
|
09-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8735979 - "int 3" doesn't match to "int3". Unfortunately, InstAlias doesn't allow matching immediate operands, so we have to write C++ code to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
96622aa063435b1de085489f0e3e49b5912c22da |
|
18-Mar-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Support explicit argument forms for the X86 string instructions. For now, only the default segments are supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
00743c2218ff3f0f4edce972e2d88893a19e6ef8 |
|
22-Feb-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Use the same (%dx) hack for in[bwl] as for out[bwl]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b412915ff6229b3e2dffedcfb0f3fb7e85259841 |
|
04-Feb-2011 |
Daniel Dunbar <daniel@zuster.org> |
MC/AsmParser: Add support for allowing the conversion process to fail (via custom conversion functions). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
bf7553210ae44f05e7460edeae1ee499d8a22dcb |
|
27-Jan-2011 |
Roman Divacky <rdivacky@freebsd.org> |
Introduce virtual ParseRegister method in TargetAsmParser. Create override of this method in X86/ARM/MBlaze. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
76331754d4a06e2394c15ae8f4870f4aeaf5ca1f |
|
09-Dec-2010 |
Kevin Enderby <enderby@apple.com> |
Allow a slash, '/', as a prefix separator for X86. rdar://8741045 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d8f717911dcdccb1a60b3049ea22c7767970dcb7 |
|
28-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
fix PR8686, accepting a 'b' suffix at the end of all the setcc instructions. I choose to handle this with an asmparser hack, though it could be handled by changing all the instruction definitions to allow be "setneb" instead of "setne". The asm parser hack is better in this case, because we want the disassembler to produce setne, not setneb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
bfd2d26159c87262fcf462ea442f99478a2093c9 |
|
27-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement the data16 prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
beb6898df8f96ccea4ae147587479b507bb3e491 |
|
23-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement the rex64 prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c146c4d47a7ec54c14e730c30bea821c34dc4c48 |
|
18-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
trivial QoI improvement. On this invalid input: sahf movl 344(%rdi),%r14d we used to produce: t.s:2:1: error: unexpected token in argument list ^ we now produce: t.s:1:11: error: unexpected token in argument list sahf movl 344(%rdi),%r14d ^ rdar://8581401 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d5b2f1aa8ce09624b0d0fd133e6cf0829dea57c8 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move the "sh[lr]d op,op" -> "shld $1, op,op" aliases to the .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8c24b0c6996a8f03ff32766f0695dcf19577af59 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
rework the rotate-by-1 instructions to be defined like the shift-by-1 instructions, where the asmstring doesn't contain the implicit 1. It turns out that a bunch of these rotate instructions were completely broken because they used 1 instead of $1. This fixes assembly mismatches on "rclb $1, %bl" and friends, where we used to generate the 3 byte form, we now generate the proper 2-byte form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3af0e7d5cdb21ac8cc3dfbb26ce1078da7a7a6f5 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move the plethora of fp stack aliases to the .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
90fd797dc739319347861d4f3984bc8952ae9a29 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
add (and document) the ability for alias results to have fixed physical registers. Start moving fp comparison aliases to the .td file (which default to using %st1 if nothing is specified). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
98c870f87b7f0c996a9ba67003d88d434d6dbcd0 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
generalize alias support to allow the result of an alias to add fixed immediate values. Move the aad and aam aliases to use this, and document it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
dea546b62339578938a91f05a00a145baf921f6c |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move fnstsw aliases to .td file, fix typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7e925cc3c92b489709fb1fa501fb6270344a4628 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move in/out aliases to the .td files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9c1dbc69d76d1df8d83ea62f6b44514b33627f6d |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move sldt, imul, and movabsq aliases from c++ to .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
fb7000fcbde3b5257ac055e1e5abdee5df21842b |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
correct suffix matching to search for s/l/t suffixes on floating point stack instructions instead of looking for b/w/l/q. This fixes issues where we'd accidentally match fistp to fistpl, when it is in fact an ambiguous instruction. This changes the behavior of llvm-mc to reject fstp, which was the correct fix for rdar://8456389: t.s:1:1: error: ambiguous instructions require an explicit suffix (could be 'fstps', 'fstpl', or 'fstpt') fstp (%rax) it also causes us to correctly reject fistp and fist, which addresses PR8528: t.s:2:1: error: ambiguous instructions require an explicit suffix (could be 'fistps', or 'fistpl') fistp (%rax) ^ t.s:3:1: error: ambiguous instructions require an explicit suffix (could be 'fists', or 'fistl') fist (%rax) ^ Thanks to Ismail Donmez for tracking down the issue here! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5bde7345980587284bda6d42a68cdb151fbf5d6b |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
fix a bug where we had an implicit assumption that the result instruction operand numbering matched the result pattern. Fixing this allows us to move the xchg/test aliases to the .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8caa290a77cc6e71457fcc6b6bfac907510dc0f4 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move the lcall/ljmp aliases to the .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
02ff6ba6f6bb804d01ff5354176486355b5e2676 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move the "movsd -> movsl" alias to the .td files, tidy up the movsx and movzx aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
414098571b19fc248fda2be194082cfd012d2729 |
|
06-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
fix some bugs in the alias support, unblocking changing of "clr" aliases from c++ hacks to proper .td InstAlias definitions. Change them! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
99f535242c71d795c11bf54aa6d30ddbed465e9a |
|
01-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
use our fancy new MnemonicAlias mechanism to remove a bunch of hacks from X86AsmParser.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b501d4f673c0db267a76800339f9943f2ce6fe33 |
|
01-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
Implement enough of the missing instalias support to get aliases installed and working. They now work when the matched pattern and the result instruction have exactly the same operand list. This is now enough for us to define proper aliases for movzx and movsx, implementing rdar://8017633 and PR7459. Note that we do not accept instructions like: movzx 0(%rsp), %rsi GAS accepts this instruction, but it doesn't make any sense because we don't know the size of the memory operand. It could be 8/16/32 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
693173feefaa326fad0e386470846fb3199ba381 |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
Implement (and document!) support for MnemonicAlias's to have Requires directives, allowing things like this: def : MnemonicAlias<"pop", "popl">, Requires<[In32BitMode]>; def : MnemonicAlias<"pop", "popq">, Requires<[In64BitMode]>; Move the rest of the X86 MnemonicAliases over to the .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a47b265b1a63cacec50b3936cb1477e9a6810376 |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
really zap alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b3c417845d88bef2128fa30f472f6ef3121786b4 |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
move fcompi alias to .td file and zap some useless code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
6f96b0899bd1c28de33ae15b52a0d6b34d9ceca5 |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
move rep aliases to td file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a17a9a00dcd57f8352803e9b8e827d23192494cb |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
move sal aliases to .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
1a1ecc9f3c2684249bd765d1299302d629aaf4fe |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
fix an encoding mismatch where "sal %eax, 1" was not using the short encoding for shl. Caught by inspection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8b260a76445762f109cc8cf6577435c4cc59e3aa |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
move a bunch more aliases from .cpp -> .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8cb441c9e0acb8b2c68229a783785fc9c3942ec8 |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
move cmov aliases to .td file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b69fc28e927444e053f0d446150fc606712dfc72 |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
move setcc and jcc aliases from .cpp to .td git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
537ca844dde9e6e843ada298fe8e9bac48a2c92e |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
move some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
674c1dcca21f5edf9f7380902971fc5471c0bd4a |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
implement (and document!) the first kind of MC assembler alias, which just remaps one mnemonic to another. Convert a few of the X86 aliases from .cpp to .td code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9a82e7027549bfc8655b090b37e709baa3cd3240 |
|
30-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
stay out of the reserved namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e460890351ed36fa518960a417d85964c2b29eee |
|
27-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
Yet another tweak to X86 instructions to add ud2a as an alias to ud2 (still to add ud2b). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5a378076a44ef3f507b91aa8e7715fabaec42074 |
|
27-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
Another tweak to X86 instructions to add the missing flex instruction (without the wait prefix). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f4630ecc3f2b80440b2d9e59add56a3b422de684 |
|
27-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
Tweaks to X86 instructions to allow the 'w' suffix in places it makes sense, when the instruction takes the 16-bit ax register or m16 memory location. These changes to llvm-mc matches what the darwin assembler allows for these instructions. Done differently than in r117031 that caused a valgrind error which was later reverted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
41e8cc73cf570754fffdc6963321c153a8010458 |
|
27-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
Added some aliases to the fcomip and fucompi Intel instructions. So that llvm-mc will accept versions that the darwin assembler allows. Forms ending in "pi" and forms without all the operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0966ec08610c02c8556105f2fff88a7e7247a549 |
|
22-Oct-2010 |
Andrew Trick <atrick@apple.com> |
Reverting r117031 to cleanup valgrind errors. It doesn't look like anything is wrong with the checkin, but the new test cases expose a mem bug in AsmParser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0b9325c97d031ab0e9a240d69a2be11ec1559e37 |
|
21-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
More tweaks to X86 instructions to allow the 'w' suffix in places it makes sense, when the instruction takes the 16-bit ax register or m16 memory location. These changes to llvm-mc matches what the darwin assembler allows for these instructions. Also added the missing flex (without the wait prefix) and ud2a as an alias to ud2 (still to add ud2b). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
87f4a1a4331e40cbba28e829561759d146273840 |
|
19-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
Added a few tweaks to the Intel Descriptor-table support instructions to allow word forms and suffixed versions to match the darwin assembler in 32-bit and 64-bit modes. This is again for use just with assembly source for llvm-mc . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7aef62ff8c72506cc9b77333d25f4aa8aa9cf9fe |
|
18-Oct-2010 |
Kevin Enderby <enderby@apple.com> |
Added a handful of x86-32 instructions that were missing so that llvm-mc would be more complete. These are only expected to be used by llvm-mc with assembly source so there is no pattern, [], in the .td files. Most are being added to X86InstrInfo.td as Chris suggested and only comments about register uses are added. Suggestions welcome on the .td changes as I'm not sure on every detail of the x86 records. More missing instructions will be coming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c0c8df3cea0dde2069edd10313a958508f99ec85 |
|
09-Oct-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Fix Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
508fc4708bb859391af8969614e67c84ab56c38c |
|
05-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
Replace a gross hack (the MOV64ri_alt instruction) with a slightly less gross hack (having the asmmatcher handle the alias). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b0f96facd6e6637cb71bbeaf2f4e006f0b6348e3 |
|
01-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Delete token *after* reading from it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
905f2e06691672c236ae864faf0ad7220afc2844 |
|
30-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
preemptively add the rest of the non-n fpstack instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9ee4aed3b652ea4a4327af2cb1c614dd10cd8b47 |
|
30-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement support for finit, PR8258 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0bb83a84d4319030c0c9260dbfea461c40eea1b2 |
|
30-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add support for fstcw, PR8259 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a25f933396b8408ad89218bc60b0a93f130a3ea9 |
|
29-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement rdar://8491845 - Gas supports commuted forms of non-commutable instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7c51a3172cf5104ebeaef22f1366fa634ca00d85 |
|
29-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement rdar://8456378 and PR7557 - support for the fstsw, an instruction that requires a WHOLE NEW wonderful kind of alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7036f8be4df8a1a830ca01afe9497b035a5647d6 |
|
29-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
change the protocol TargetAsmPArser::MatchInstruction method to take an MCStreamer to emit into instead of an MCInst to fill in. This allows the matcher extra flexibility and is more convenient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
295646274276c6814d970bed86d3b4ff76ba3ee3 |
|
27-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
yet more aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b1162fc05e09c7247be1896fd4aa4ca7e76c938c |
|
27-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add a couple more aliases, rdar://8456378 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
df967d613704d4e4f01ecce85c1846dfab4d9a1b |
|
27-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8470918 - llvm-mc can't assemble smovl git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cb296ec0b689ccbcb08cedc5d3e090c0471eb393 |
|
27-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://8468087 - llvm-mc commutes fmul (and friend) operands. My previous fix for rdar://8456371 should only apply to fmulp/faddp, not to fmul/fadd. Instruction set orthogonality is overrated or something. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
fd8fddd830ad8322d04161f2f6bad6269a451ab2 |
|
27-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement support for 'clr' alias. This is part of rdar://8416805, but balrog was wanting it on irc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
2c5291b56358bf239bdfc675ed681c2da3eb4901 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8456371 - Handle commutable instructions written backward. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
1eb1b68e3a5241591bfa18d4beb0e0cf13a48ef2 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
Fix an inconsistency in the x86 backend that led it to reject "calll foo" on x86-32: 32-bit calls were named "call" not "calll". 64-bit calls were correctly named "callq", so this only impacted x86-32. This fixes rdar://8456370 - llvm-mc rejects 'calll' This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call, I will file a bugzilla. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c2b942acf6008ac822c21722ac7ec84264d10bef |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add the missing aliases for fp stack cmovs, rdar://8456391 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
33d60d5e56bbf3e9ed02bc916735419091736ca3 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://8456364 - llvm-mc rejects '%CS' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0c289c140ee7a68e3d06b9d8ae6060758345ad4e |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp' -This line, and those below, will be ignored-- M test/MC/AsmParser/X86/x86_instructions.s M lib/Target/X86/AsmParser/X86AsmParser.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
61129252e44067ae112dc856c64c814344b7e7c9 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8456361 - llvm-mc rejects 'rep movsd' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
35aa94b229d516b9eb775ad4e13a8e2d03221cf9 |
|
16-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8438816 - unrecognized 'fildq' instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d0bcc9a01590c60adb4d288691120c46a49a2288 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
lcall and ljmp always default to lcalll and ljmpl. This finally wraps up r8418316 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cbb442640fdefae48edca2b4c60555a68352b553 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
apparently jmpl $1,$2 is an alias for ljmpl, similiarly for call. Add this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
250b948f21b2910c5bc61fb364c6817727a3a972 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
Disambiguate lcall/ljmp to the 32-bit version. This happens even in 64-bit mode apparently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cfad564043021c7276ce19725f43bcde233fa549 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement aliases for shld/shrd, part of rdar://8418316 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e9e16a36d9ff355dab60e4b95673bf7a0cd27e86 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8431880 - rcl/rcr with no shift amount not recognized git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
84f362d8912657bb21250a65331f797d5381e9a3 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add various broken forms of fnstsw. I didn't add the %rax version because it adds a prefix and makes even less sense than the other broken forms. This wraps up rdar://8431422 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8f777a205e4523b773ba3af3bad007d93da56a9a |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add some aliases for f[u]comi, part of rdar://8431422 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
2d592d10a57887ebe7c43a5e610f4278dd6c5d20 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add a bunch of aliases for fp operations with no operand, rdar://8431422 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f884012c93578912556de6ab89ecebab79b4ee31 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
Diagnose invalid instructions like "incl" with "too few operands for instruction" instead of crashing. This fixes: rdar://8431815 - crash when invalid operand is one that isn't present git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ef63c9a9b6f79fef91dc144db9d5f217d2b83a95 |
|
15-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add a terrible hack to allow out with dx is parens, a gas bug. This fixes PR8114 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0989d29d093c281a0d8b4f1b1ea22436249c4087 |
|
11-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add a missed cmov alias, part of rdar://8416805 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
697d37a43625b8862a6d6993c6c5ee614fdc0843 |
|
11-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add support for all the setCC aliases. Part of rdar://8416805 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
dfa3c9d98260f899297c11cda2b15dc44fc4f91e |
|
11-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add support for pushfd/popfd which are aliases for pushfl/popfl. This fixes rdar://8408129 - pushfd and popfd get invalid instruction mnemonic errors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ee211d0ed632d6329922ad4c5f7a25d3d66cf551 |
|
11-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement rdar://8407928 - support for in/out with a missing "a" register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cbf8a98c7c652e96967623c80cb945fef001b090 |
|
11-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix the asmparser so that the target is responsible for skipping to the end of the line on a parser error, allowing skipping to happen for syntactic errors but not for semantic errors. Before we would miss emitting a diagnostic about the second line, because we skipped it due to the semantic error on the first line: foo %eax bar %al This fixes rdar://8414033 - llvm-mc ignores lines after an invalid instruction mnemonic errors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
90b54547d9fcc381f8ec92c32756ad4da43ed9aa |
|
09-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8407548, I missed the commuted form of xchg/test without a suffix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
373c458850a963ab062046529337fe976e1f944d |
|
09-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix bugs in push/pop segment support, rdar://8407242 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c8ae35a8e8a6a39ae05b1c876afbf404e20961ff |
|
08-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add support for the commuted form of the test instruction, rdar://8018260. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ba8e81cca281a92fe30c25a10d8990521128be39 |
|
08-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement proper support for sysret{,l,q}, rdar://8403907 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ba8cea450f330145cc7764e23e5d8b1aadd5e131 |
|
08-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
implement the iret suite of instructions properly, fixing rdar://8403974 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
2544f426927aa6dbac8d52bd9d5e12629099da82 |
|
08-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add support for instruction prefixes on the same line as the instruction, implementing rdar://8033482 and PR7254. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
34e53140c2cc02ce4c9d060e48302576d3962e1c |
|
08-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
change the MC "ParseInstruction" interface to make it the implementation's job to check for and lex the EndOfStatement marker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9607c40601b345c21af9de97ec03e124179efd24 |
|
08-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
gas accepts xchg <mem>, <reg> as a synonym for xchg <reg>, <mem>. Add this to the mc assembler, fixing PR8061 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a247685b3013b3dc675d4e83f9c98de6473af1d7 |
|
08-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix the encoding of the "jump on *cx" family of instructions, rdar://8061602 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
aceeb3a4e2165e94624c3e5e2e7c93e325e951dd |
|
07-Sep-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't leak the old operand when transforming "sldt" into "sldtw". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e9e0fc5eed9e177c3ee7299a34e640973102ac39 |
|
07-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
add missing cmov aliases, this resolves rdar://8208499 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7d284de955a6a525da556bc85ed7a4ea66c24c2d |
|
07-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
remove duplicated entry git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c5cebeb3cb44a3fd0aaee956431159757ee47914 |
|
07-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
"sldt <mem>" is ambiguous in 64-bit mode, but should always be disambiguated as sldtw. sldtw and sldtq with a mem operands have the same effect, but sldtw is more compact. Force it to sldtw, resolving rdar://8017530 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d68c474ec55a3dd43f9fa8ea4c89e5fae62909ab |
|
07-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix rdar://8017621 - llvm-mc can't guess encoding for "push $(1000)" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ce4a3355d96971e7edcbff3c1975f83e1ddcb8f2 |
|
07-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
in the case where an instruction only has one implementation of a mneumonic, report operand errors with better location info. For example, we now report: t.s:6:14: error: invalid operand for instruction cwtl $1 ^ but we fail for common cases like: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ because we don't know if this is supposed to be the reg/imm or imm/reg form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a008e8ac73cb3cf2eaf006fbb1b62905c8626758 |
|
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
Now that we know if we had a total fail on the instruction mnemonic, give a more detailed error. Before: t.s:11:4: error: unrecognized instruction addl $1, $1 ^ t.s:12:4: error: unrecognized instruction f2efqefa $1 ^ After: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ t.s:12:4: error: invalid instruction mnemonic 'f2efqefa' f2efqefa $1 ^ This fixes rdar://8017912 - llvm-mc says "unrecognized instruction" when it means "invalid operands" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
69c7249a6f628db393aaa426c9595dccd4a1d87b |
|
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
simplify the hacks around jrcxz. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ec6789f4f97ca1701c163132b6e3388366463090 |
|
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
have tblgen detect when an instruction would have matched, but failed because a subtarget feature was not enabled. Use this to remove a bunch of hacks from the X86AsmParser for rejecting things like popfl in 64-bit mode. Previously these hacks weren't needed, but were important to get a message better than "invalid instruction" when used in the wrong mode. This also fixes bugs where pushal would not be rejected correctly in 32-bit mode (just pusha). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
79ed3f77e8b87615b80054ca6e4e3ba5e07445bd |
|
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
change MatchInstructionImpl to return an enum instead of bool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0692ee676f8cdad25ad09a868bf597af4115c9d9 |
|
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
have AsmMatcherEmitter.cpp produce the hunk of code that gets included into the middle of the class, and rework how the different sections of the generated file are conditionally included for simplicity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
47ab90bfa8544bc96a02443a7c430200a880bd2b |
|
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
random cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
fba88d49e3fbb68bb84c295a9639fe94f9a8c6aa |
|
24-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Tweak imul recognition, previous hack only applies for the imul form taking immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ae528f65ba731e2e080822496ef36db950ffe1c1 |
|
24-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Add custom hack for recognizing "imul $12, %eax" and friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ee9102587e7f6fc95de9fc5731b341eeb9bfc3ca |
|
24-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Warn on scale factors > 1 without index register, instead of erroring, for 'as' compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0d857cf8d1eaa3268c0118c124b6fe77c39d1482 |
|
18-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
remove some code that is dead now that lea's are modeled with segment registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
09062b1672d33c40c38de3ff3163e0d53ebe165d |
|
12-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86/AsmParser: Give an explicit error message when we reject an instruction because it could have an ambiguous suffix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f1e29d4c21d15f9e1e3a64f3b92b1aa9908e4f63 |
|
12-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/AsmParser: Push the burdon of emitting diagnostics about unmatched instructions onto the target specific parser, which can do a better job. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b3cb6967949493a2e1b10d015ac08b746736764e |
|
11-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
MCAsmParser: Add dump() hook to MCParsedAsmOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3c8e1bee6399e829eda801a32158c1f52d2733ad |
|
24-Jul-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Support x86 "eiz" and "riz" pseudo index registers in the assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f64a7d49a0cdc8587f5b79bb2ac7be5fe56c1746 |
|
24-Jul-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f528d2b438b5c8fd3e2609be981e500576f5e5af |
|
23-Jul-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add AVX version of CLMUL instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
90b374cdedf0ff844b86b768b2d0832c64ab9173 |
|
19-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: We now match instructions like "incl %eax" correctly for the arch we are assembling; remove crufty custom cleanup code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
54074b5f04f5affc77b5c6f3e5d8062b50384831 |
|
19-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
TblGen/AsmMatcher: Add support for honoring instruction Requires<[]> attributes as part of the matcher. - Currently includes a hack to limit ourselves to "In32BitMode" and "In64BitMode", because we don't have the other infrastructure to properly deal with setting SSE, etc. features on X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d73ada7d24832bc2a4c3965b8f00ffd951341acf |
|
19-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
Target: Give the TargetAsmParser access to the TargetMachine. - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
38e59891ee4417a9be2f8146ce0ba3269e38ac21 |
|
15-Jul-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't pass StringRef by reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
52a18aedaebbd87931c6705165e62986700a49d6 |
|
13-Jul-2010 |
Kevin Enderby <enderby@apple.com> |
Added a check that pusha cannot be encoded in 64-bit mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cc69e13a36b2238d8e0a2fc01463d16943c08936 |
|
08-Jul-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add more assembly opcodes for SSE compare instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
645b209c4af53c0d21292df3d506cf79d4e3ec11 |
|
24-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
Teach the x86 mc assembler that %dr6 = %db6, this implements rdar://8013734 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
428256b8186208e89995d447c5e4c9d8e5c099fa |
|
23-Jun-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add tests for different AVX cmp opcodes, also teach the x86 asm parser to understand the vcmp instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
09712b57cedb4493b487652b0395ac1d502b75a4 |
|
09-Jun-2010 |
Kevin Enderby <enderby@apple.com> |
Incremental improvement to the handling of the x86 "Jump if rCX Zero" instruction. Added the 64-bit version "jrcxz" so it is recognized and also added the checks for incorrect uses of "jcxz" in 64-bit mode and "jrcxz" in 32-bit mode. Still to do is to correctly handle the encoding of the instruction adding the Address-size override prefix byte, 0x67, when the width of the count register is not the same as the mode the machine is running in. Which for example means the encoding of "jecxz" depends if you are assembling as a 32-bit target or a 64-bit target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
31cc9655b681c1b9b0a199131588377ce578ec0d |
|
28-May-2010 |
Kevin Enderby <enderby@apple.com> |
MC/X86: Add alias for movzx. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5e394429ab0a51af87056fbdaceeae879e651963 |
|
28-May-2010 |
Kevin Enderby <enderby@apple.com> |
MC/X86: Add alias for fwait. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
bd658918df63f43654ce3b1045c7b563df91a63f |
|
27-May-2010 |
Kevin Enderby <enderby@apple.com> |
MC/X86: Add aliases for Jcc variants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cf50a5390c09325a7fc41640449205eced4363f6 |
|
25-May-2010 |
Kevin Enderby <enderby@apple.com> |
Changed the encoding of X86 floating point stack operations where both operands are st(0). These can be encoded using an opcode for storing in st(0) or using an opcode for storing in st(i), where i can also be 0. To allow testing with the darwin assembler and get a matching binary the opcode for storing in st(0) is now used. To do this the same logical trick is use from the darwin assembler in converting things like this: fmul %st(0), %st into this: fmul %st(0) by looking for the second operand being X86::ST0 for specific floating point mnemonics then removing the second X86::ST0 operand. This also has the add benefit to allow things like: fmul %st(1), %st that llvm-mc did not assemble. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
39e2dd7bab1925e12d4a03ae7abca0eff87274d6 |
|
25-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Add a hack to allow recognizing 'cmpltps' and friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ca956dc0f66a573735cdea16acab7159c0c254e5 |
|
24-May-2010 |
Kevin Enderby <enderby@apple.com> |
MC/X86: Add aliases for CMOVcc variants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
62e4c671b6b0f13c04a20bb43c05bfe84984ef34 |
|
22-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Subdivide immediates a bit more, so that we properly recognize immediates based on the width of the target instruction. For example: addw $0xFFFF, %ax should match the same as addw $-1, %ax but we used to match it to the longer encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
4c361972fd9110eff30145abdd17f195404a4e49 |
|
22-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Add alias for setz, setnz, jz, jnz. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9d31d79493be05ab9cbf5b7fb16b52e79712eff3 |
|
22-May-2010 |
Kevin Enderby <enderby@apple.com> |
Added retl for 32-bit x86 and added retq for 64-bit x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
1fe591da3e83ae95f6e97d7cd432cfbb25e680e8 |
|
20-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
X86: Model i64i32imm properly, as a subclass of all immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e5e4ff974df52aa870085904b6670c4d22ada0ac |
|
20-May-2010 |
Dan Gohman <gohman@apple.com> |
Fix assembly parsing and encoding of the pushf and popf family of instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b5505d0ee34c22ca25189e035e29e07323311ec9 |
|
13-May-2010 |
Chris Lattner <sabre@nondot.org> |
reapply r103668 with a fix. Never make "minor syntax changes" after testing before committing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
3519f9d7d179ac1a77a4721b2e5f8123f95af418 |
|
13-May-2010 |
Chris Lattner <sabre@nondot.org> |
revert r103668 for now, it is apparently breaking things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0de8e3f10ac42abbd642fb2bdab5911374b14a75 |
|
13-May-2010 |
Chris Lattner <sabre@nondot.org> |
moffset forms of moves are x86-32 only, make the parser lower them to the correct x86-64 instructions since we don't have a clean way to handle this in td files yet. rdar://7947184 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0481449a0536311b5fefc9122ce679000540e013 |
|
12-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Extend suffix matching hack to match 'q' suffix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e9f0fb4179d57c631a72fa8020ca05a4d132e15b |
|
04-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Chris pointed that 'as' isn't consistent in accepting the long form of instructions which have no direct register usage. Darwin 'as' accepts: add $0, (%rax) but rejects mov $0, (%rax) for example. Given that, only accept suffix matches which match exactly one form. We still need to emit nice diagnostics for failures... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c918d6043b823173b106c163038b14c1e2f92765 |
|
04-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Add "support" for matching ATT style mnemonic prefixes. - The idea is that when a match fails, we just try to match each of +'b', +'w', +'l'. If exactly one matches, we assume this is a mnemonic prefix and accept it. If all match, we assume it is width generic, and take the 'l' form. - This would be a horrible hack, if it weren't so simple. Therefore it is an elegant solution! Chris gets the credit for this particular elegant solution. :) - Next step to making this more robust is to have the X86 matcher generate the mnemonic prefix information. Ideally we would also compute up-front exactly which mnemonic to attempt to match, but this may require more custom code in the matcher than is really worth it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
eef6d78be1c3a685f277be3e89ff17f67ed65f49 |
|
17-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
teach the x86 asm parser how to handle segment prefixes in memory operands. rdar://7874844 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f2de13f8d7bed958538bbd9dbeb9b15ea48456cc |
|
20-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Fix an MCOperand link, when we parsing shrld $1,%eax and friends; I believe this fixes the last memory leaks under test/MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f98bc6320b61645897606ef332cff60521c1e8f3 |
|
18-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86/AsmMatcher: Use the new instruction cleanup routine to implement a temporary workaround for matching inc/dec on x86_64 to the correct instruction. - This hack will eventually be replaced with a robust mechanism for handling matching instructions based on the available target features. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
d5e7705a05947e60806b795880f09757e835f590 |
|
13-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Add temporary hack to match shrl $1,%eax correctly, to support testing other functionality on 403.gcc compiled at -O0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9c60f534cbdec2ba58b269c4d624ae4d301ef73a |
|
13-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86: Push immediate operands as immediates not expressions when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
1b6c0605915a2f626b1d3aae6f8371924e0fffe7 |
|
10-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86 AsmMatcher: Fix a use after free spotted by d0k, and de-XFAIL x86_32-encoding.s in on expectation of it passing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e16b0fc3cb607bd0b8240733e2fe829d78df3833 |
|
09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
Implement x86 asm parsing support for %st and %st(4) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b8d6e98e566724f58344d275a4bd675249bb713a |
|
09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
pass stringref by value instead of by const& git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
12ce0de4622df7bcc15ba6c8818b98c0b936876a |
|
03-Feb-2010 |
Kevin Enderby <enderby@apple.com> |
Added support for X86 instruction prefixes so llvm-mc can assemble them. The Lock prefix, Repeat string operation prefixes and the Segment override prefixes. Also added versions of the move string and store string instructions without the repeat prefixes to X86InstrInfo.td. And finally marked the rep versions of move/store string records in X86InstrInfo.td as isCodeGenOnly = 1 so tblgen is happy building the disassembler files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e7070e90066acc3460af1d6cac4036a80b0250b8 |
|
03-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
AsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we need some mechanism for specifying alternative syntaxes, but I'm not sure what form that should take yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7b9147afa7d1875353e1c1347b6b6cf71f548229 |
|
02-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
MCAsmParser/X86: Represent absolute memory operands as CodeGen does, with scale == 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b834f5d13d824dc4da2ce0df2aa8dffb697b8974 |
|
30-Jan-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/X86 AsmParser: Handle absolute memory operands correctly. We were doing something totally broken and parsing them as immediates, but the .td file also had the wrong match class so things sortof worked. Except, that is, that we would parse movl $0, %eax as movl 0, %eax Feel free to guess how well that worked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
ec2b1f1beb134872aba4faf2e7a9c7eabcf64df9 |
|
30-Jan-2010 |
Daniel Dunbar <daniel@zuster.org> |
AsmMatcher/X86: Separate out sublass for memory operands that have no segment register, and use to cleanup a FIXME in X86AsmParser.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
75f265fbbbb64ab060bf41c5a4677ce56014ce9f |
|
24-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
fix a parsing problem on instructions like: movw $8, (_cost_table_-L97$pb)+66(%eax) After the parens, we could still have a binop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e88f55254cde9d9443f1299b61aa6a93ec50b791 |
|
23-Jan-2010 |
Sean Callanan <scallanan@apple.com> |
Added the skeleton for the implementation of the X86 target-specific AsmLexer, and added the appropriate registration calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
e9b466d4f09de3b46c0d0d1e71cabddc7cc9021b |
|
23-Jan-2010 |
Sean Callanan <scallanan@apple.com> |
Modified the register matcher function in AsmMatcher to be static. Also made it possible for clients to get it and no other functions from ...GenAsmMatcher.inc by defining REGISTERS_ONLY before including GenAsmMatcher.inc. This sets the stage for target-specific lexers that can identify registers and return AsmToken::Register as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c6ef277a0b8f43af22d86aea9d5053749cacfbbb |
|
22-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
create a new MCParser library and move some stuff into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
18b8323de70e3461b5d035e3f9e4f6dfaf5e674b |
|
19-Jan-2010 |
Sean Callanan <scallanan@apple.com> |
Promoted the getTok() method to MCAsmParser so that the two token accessor functions are declared consistently. Modified the clients of MCAsmParser to reflect this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b9a25b7744ed12b80031426978decce3d4cebbd7 |
|
19-Jan-2010 |
Sean Callanan <scallanan@apple.com> |
Propagated the parser-side Lex function's declaration to MCAsmParser, and changed the target-specific AsmParsers to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
aaec205b87637cd0d59d4f11630db603686eb73d |
|
19-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Generalize mcasmstreamer data emission APIs to take an address space identifier. There is no way to work around it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
54482b472a888c9efe003ad694ecf47b21878f0e |
|
15-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
fix a bug in range information for $42, eliminate an unneeded argument from ParseExpression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0a3c5a54a144fd05a7feeb5c9e58da36edbe888c |
|
15-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
add range information for mem X86Operand's, now all X86Operand's have range info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
b4307b33705ef9e660db640b2f70d6246aa51165 |
|
15-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
extend MCAsmParser::ParseExpression and ParseParenExpression to return range information for subexpressions. Use this to provide range info for several new X86Operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
1f19f0f31dace5d145fecbe1f0f3fea4fb9ae813 |
|
15-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
give X86Operand a ctor and start passing SMLoc's into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
29ef9a21dd4df3e92d21f4d9edf612d8da67cfe1 |
|
15-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
add range location info for registers, change X86Operand::Create* implementations to avoid copy ctor use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
309264d1e4c41923ff04fb6786749185cf3b9de1 |
|
15-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
clean up the memory management of the operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
23075746a1418f281bc2a088ea85560bfd833599 |
|
15-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
refactor ParseRegister to avoid using X86Operand as a temporary datastructure when parsing a mem operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9898671a74d3fc924347e679c45edaa685b3fe6e |
|
14-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Split the TargetAsmParser "ParseInstruction" interface in half: the new ParseInstruction method just parses and returns a list of target operands. A new MatchInstruction interface is used to turn the operand list into an MCInst. This requires new/deleting all the operands, but it also gives targets the ability to use polymorphic operands if they want to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
f007e853e26845cd6866b52d646455fc69f4e0af |
|
14-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
prune #includes in TargetAsmParser.h Pass in SMLoc of instr opcode into ParseInstruction. Make AsmToken be a class, not a struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
45220a84394758c86cc29ee0e3fe6738946fbcd0 |
|
14-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
introduce the MCParsedAsmOperand class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0d6cd00dbe58b456d0d33663e6a36c270aad2b5a |
|
16-Sep-2009 |
Kevin Enderby <enderby@apple.com> |
Fix incorrect assert that should be a user error for code like 'mov $0, %%eax'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9c656450d65034c4cd3597fff61ef17376cff090 |
|
10-Sep-2009 |
Kevin Enderby <enderby@apple.com> |
Added the ParseInstruction() hook for target specific assembler directives so that things like .word can be parsed as target specific. Moved parsing .word out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes for other targets that support the .word directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
875f4ae789ad15dc04771f535a7568700091d0a9 |
|
06-Sep-2009 |
Duncan Sands <baldrick@free.fr> |
Avoid an unused variable warning when assertions are disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7b4608dfa018455021050ccd31d3c49aaecf7ff6 |
|
03-Sep-2009 |
Kevin Enderby <enderby@apple.com> |
Removed the non-target independent AsmToken::Register enum constant from MCAsmLexer.h in preparation of supporting other targets. Changed the X86AsmParser code to reflect this by removing AsmLexer::LexPercent and looking for AsmToken::Percent when parsing in places that used AsmToken::Register. Then changed X86ATTAsmParser::ParseRegister to parse out registers as an AsmToken::Percent followed by an AsmToken::Identifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
8c2eebe4074ef218b30d94358f6b2e45c079605c |
|
31-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue. Also, use MCInst::print instead of custom code in MCAsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c22e0b2443afdedb6d9b225b938ad404d63cdbe6 |
|
14-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update llvm-mc / MCAsmStreamer to print the instruction using the actual target specific printer (this only works on x86, for now). - This makes it possible to do some correctness checking of the parsing and matching, since we can compare the results of 'as' on the original input, to those of 'as' on the output from llvm-mc. - In theory, we could now have an easy ATT -> Intel syntax converter. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0db68f4e3a8be1641dbba72a41baa6ff1b5dd6af |
|
11-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/X86: Parse '*' correctly (in the way the matcher expects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5c468e3d7006e854fd41b29d5539a7adcee53904 |
|
10-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/AsmParser: Allow .td users to redefine the names of the methods to call on target specific operands for testing class membership and converting to MCInst operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
5fe6338ac859707f797bf6db6d043bb5f4d944a1 |
|
09-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/AsmParser: Implement user defined super classes. - We can now discriminate SUB32ri8 from SUB32ri, for example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
245f05843f7f17406f394696e7330950e6d88e6d |
|
08-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/AsmMatcher: Switch token matching to use the new string matcher. Also, redefined MatchRegisterName to just return the register value or a sentinel, to simplify the generated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a3741fa28b1a397ebfd623ef9d14e978df94ce47 |
|
08-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/AsmMatcher: Improve match code. - This doesn't actually improve the algorithm (its still linear), but the generated (match) code is now fairly compact and table driven. Still need a generic string matcher. - The table still needs to be compressed, this is quite simple to do and should shrink it to under 16k. - This also simplifies and restructures the code to make the match classes more explicit, in anticipation of resolving ambiguities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
2724915c171b08fa9f7f9e54a46ea81708d9c5b2 |
|
07-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/AsmMatcher: Tweaks in response to feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
6812cd18aad7f31de3a05b86a4fa6119e44b6924 |
|
07-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Improve disabling of X86 AsmMatcher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
7ddca30f311423933ab27bd48727a7226ac3e159 |
|
07-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Disable X86 AsmMatcher for now, it is causing gcc-4.0 to run out of memory on i386-apple-darwin9. This presumably will get fixed once the generated code improves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
20927f26fcd7d0394bc60c58c61d879a83adac0d |
|
07-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/AsmMatcher: Move to a slightly more sane matching design. - Still not very sane, but a least its not 60k lines on X86. :) - In terms of correctness, currently some things are hard wired for X86, and we still don't properly resolve ambiguities (this is ignoring the instructions we don't even match due to funny .td stuff or other corner cases). The high level changes: 1. Represent tokens which are significant for matching explicitly as separate operands. This uniformly handles not only the instruction mnemonic, but also 'signficiant' syntax like the '*' in "call * ...". 2. Separate the matching of operands to an instruction from the construction of the MCInst. In theory this can be done during matching, but since the number of variations is small I think it makes sense to decompose the problems. 3. Improved a few of the mechanisms to at least successfully flatten / tokenize the assembly strings for PowerPC and ARM. 4. The comment at the top of AsmMatcherEmitter.cpp explains the approach I'm moving towards for handling ambiguous instructions. The high-bit is to infer a partial ordering of the operand classes (and force the user to specify one if we can't) and use that to resolve ambiguities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
cdcb388a589846e7e7ca8c88f77cf53933539074 |
|
02-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Change MCOperand to use Create style instead of Make style for constructing operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c09e411102878c7f01ef707c2ac52eb3c76ab77b |
|
01-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: A few more parsing / match tweaks. - Operands which are just a label should be parsed as immediates, not memory operands (from the assembler perspective). - Match a few more flavors of immediates. - Distinguish match functions for memory operands which don't take a segment register. - We match the .s for "hello world" now! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
022e2a84a867ba73fd0e6b89f61e56396f22620d |
|
31-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/X86: Sketch match functions for immediates and memory operands. Also, change scale value to always be 1 when unspecified to machine MachineInst encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c6b79ac88e52367dd2afdf03b1be81b10345c0bb |
|
31-Jul-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix a struct/class mismatch, to silence a MSVC warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a027d222e18ea9028e9e12ae2f5cd566889b599a |
|
31-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Match a few X86 instructions. - This is "experimental" code, I am feeling my way around and working out the best way to do things (and learning tblgen in the process). Comments welcome, but keep in mind this stuff will change radically. - This is enough to match "subb" and friends, but not much else. The next step is to automatically generate the matchers for individual operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
37dfdecafdaabc87d3a9dcfc8c33a2308af2763c |
|
29-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
more syntactic cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
c3c35b17218248f9b4786a6125bf9719e536eeb2 |
|
29-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
minor smallvector cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0e2771f4c4a6e1ffc664eb23487087f824340255 |
|
29-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Match X86 register names to number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
16cdcb38b2a5c5cdc216f9abafabd20e1ef7a254 |
|
29-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Move X86 instruction parsing into X86/AsmParser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a2edbabcb86f213eca6daeda5d801f8c7b1e44b2 |
|
28-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Provide generic MCAsmParser when constructing target specific parsers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
9a7e2ccf574368b60455f8c8975030475a1f3ce0 |
|
27-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API. - My DFS traversal of LLVM is, at least for now, nearly complete! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
0c795d61878156817cedbac51ec2921f2634c1a5 |
|
25-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add new helpers for registering targets. - Less boilerplate == good. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a8f0af5e0ec7dc60eb4a4a2ae41fee91ea3e2f40 |
|
21-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove some unused code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
dbd692a66e6a5f60ec3ff120ed27ae3a918c375f |
|
20-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add MCAsmLexer interface. - This provides the AsmLexer interface to the target specific assembly parsers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
a3af370dc12f6d5100da5d614ab0a62da135569a |
|
20-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add MCAsmParser interface. - This provides the AsmParser interface to the target specific assembly parsers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
4cb1e13769856716261a4d315f8202bd918502c3 |
|
19-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Put Target definitions inside Target specific header, and llvm namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|
092a9dda2d13918a6410db26f41c7b5aa97ff989 |
|
17-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Sketch support for target specific assembly parser. - Not fully enabled yet, need a configure regeneration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
|