Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | fix rdar://8431880 - rcl/rcr with no shift amount not recognized | Chris Lattner | 2010-09-15 | 1 | -1/+9 | |
| | | | | llvm-svn: 113936 | |||||
* | add various broken forms of fnstsw. I didn't add the %rax | Chris Lattner | 2010-09-15 | 1 | -0/+19 | |
| | | | | | | | version because it adds a prefix and makes even less sense than the other broken forms. This wraps up rdar://8431422 llvm-svn: 113932 | |||||
* | add some aliases for f[u]comi, part of rdar://8431422 | Chris Lattner | 2010-09-15 | 1 | -7/+9 | |
| | | | | llvm-svn: 113930 | |||||
* | add a bunch of aliases for fp operations with no operand, | Chris Lattner | 2010-09-15 | 1 | -5/+22 | |
| | | | | | | rdar://8431422 llvm-svn: 113929 | |||||
* | Diagnose invalid instructions like "incl" with "too few operands for ↵ | Chris Lattner | 2010-09-15 | 1 | -2/+4 | |
| | | | | | | | | | instruction" instead of crashing. This fixes: rdar://8431815 - crash when invalid operand is one that isn't present llvm-svn: 113921 | |||||
* | add a terrible hack to allow out with dx is parens, a gas bug. | Chris Lattner | 2010-09-14 | 1 | -0/+14 | |
| | | | | | | This fixes PR8114 llvm-svn: 113894 | |||||
* | Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." | Michael J. Spencer | 2010-09-13 | 1 | -7/+0 | |
| | | | | | | | | | | This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 113819 | |||||
* | add a missed cmov alias, part of rdar://8416805 | Chris Lattner | 2010-09-11 | 1 | -0/+2 | |
| | | | | llvm-svn: 113693 | |||||
* | add support for all the setCC aliases. Part of rdar://8416805 | Chris Lattner | 2010-09-11 | 1 | -16/+14 | |
| | | | | llvm-svn: 113692 | |||||
* | add support for pushfd/popfd which are aliases for pushfl/popfl. | Chris Lattner | 2010-09-11 | 1 | -0/+2 | |
| | | | | | | This fixes rdar://8408129 - pushfd and popfd get invalid instruction mnemonic errors llvm-svn: 113690 | |||||
* | implement rdar://8407928 - support for in/out with a missing "a" register. | Chris Lattner | 2010-09-11 | 1 | -1/+33 | |
| | | | | llvm-svn: 113689 | |||||
* | fix the asmparser so that the target is responsible for skipping to | Chris Lattner | 2010-09-11 | 1 | -3/+9 | |
| | | | | | | | | | | | | | | 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 llvm-svn: 113688 | |||||
* | CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally. | Michael J. Spencer | 2010-09-10 | 1 | -0/+7 | |
| | | | | llvm-svn: 113632 | |||||
* | fix rdar://8407548, I missed the commuted form of xchg/test without a suffix. | Chris Lattner | 2010-09-08 | 1 | -2/+4 | |
| | | | | llvm-svn: 113427 | |||||
* | fix bugs in push/pop segment support, rdar://8407242 | Chris Lattner | 2010-09-08 | 1 | -0/+1 | |
| | | | | llvm-svn: 113422 | |||||
* | add support for the commuted form of the test instruction, rdar://8018260. | Chris Lattner | 2010-09-08 | 1 | -0/+10 | |
| | | | | llvm-svn: 113352 | |||||
* | implement proper support for sysret{,l,q}, rdar://8403907 | Chris Lattner | 2010-09-08 | 1 | -0/+1 | |
| | | | | llvm-svn: 113350 | |||||
* | implement the iret suite of instructions properly, | Chris Lattner | 2010-09-08 | 1 | -0/+1 | |
| | | | | | | fixing rdar://8403974 llvm-svn: 113349 | |||||
* | add support for instruction prefixes on the same line as the instruction, | Chris Lattner | 2010-09-08 | 1 | -6/+17 | |
| | | | | | | implementing rdar://8033482 and PR7254. llvm-svn: 113348 | |||||
* | change the MC "ParseInstruction" interface to make it the | Chris Lattner | 2010-09-08 | 1 | -0/+4 | |
| | | | | | | | implementation's job to check for and lex the EndOfStatement marker. llvm-svn: 113347 | |||||
* | gas accepts xchg <mem>, <reg> as a synonym for xchg <reg>, <mem>. | Chris Lattner | 2010-09-08 | 1 | -0/+11 | |
| | | | | | | Add this to the mc assembler, fixing PR8061 llvm-svn: 113346 | |||||
* | fix the encoding of the "jump on *cx" family of instructions, | Chris Lattner | 2010-09-08 | 1 | -14/+0 | |
| | | | | | | rdar://8061602 llvm-svn: 113343 | |||||
* | Don't leak the old operand when transforming "sldt" into "sldtw". | Benjamin Kramer | 2010-09-07 | 1 | -1/+3 | |
| | | | | llvm-svn: 113200 | |||||
* | add missing cmov aliases, this resolves rdar://8208499 | Chris Lattner | 2010-09-07 | 1 | -13/+27 | |
| | | | | llvm-svn: 113189 | |||||
* | remove duplicated entry | Chris Lattner | 2010-09-06 | 1 | -1/+0 | |
| | | | | llvm-svn: 113188 | |||||
* | "sldt <mem>" is ambiguous in 64-bit mode, but should | Chris Lattner | 2010-09-06 | 1 | -0/+7 | |
| | | | | | | | | 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 llvm-svn: 113186 | |||||
* | fix rdar://8017621 - llvm-mc can't guess encoding for "push $(1000)" | Chris Lattner | 2010-09-06 | 1 | -0/+1 | |
| | | | | llvm-svn: 113184 | |||||
* | in the case where an instruction only has one implementation | Chris Lattner | 2010-09-06 | 1 | -8/+19 | |
| | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 113178 | |||||
* | Now that we know if we had a total fail on the instruction mnemonic, | Chris Lattner | 2010-09-06 | 1 | -7/+27 | |
| | | | | | | | | | | | | | | | | | | | | | | | | 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" llvm-svn: 113176 | |||||
* | simplify the hacks around jrcxz. | Chris Lattner | 2010-09-06 | 1 | -4/+1 | |
| | | | | llvm-svn: 113167 | |||||
* | have tblgen detect when an instruction would have matched, but | Chris Lattner | 2010-09-06 | 1 | -34/+44 | |
| | | | | | | | | | | | | | 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). llvm-svn: 113166 | |||||
* | change MatchInstructionImpl to return an enum instead of bool. | Chris Lattner | 2010-09-06 | 1 | -5/+5 | |
| | | | | llvm-svn: 113165 | |||||
* | have AsmMatcherEmitter.cpp produce the hunk of code that gets included | Chris Lattner | 2010-09-06 | 2 | -15/+12 | |
| | | | | | | | into the middle of the class, and rework how the different sections of the generated file are conditionally included for simplicity. llvm-svn: 113163 | |||||
* | random cleanups | Chris Lattner | 2010-09-06 | 1 | -9/+12 | |
| | | | | llvm-svn: 113157 | |||||
* | MC/X86: Tweak imul recognition, previous hack only applies for the imul form | Daniel Dunbar | 2010-08-24 | 1 | -1/+3 | |
| | | | | | | taking immediates. llvm-svn: 111950 | |||||
* | MC/X86: Add custom hack for recognizing "imul $12, %eax" and friends. | Daniel Dunbar | 2010-08-24 | 1 | -0/+8 | |
| | | | | llvm-svn: 111947 | |||||
* | MC/X86: Warn on scale factors > 1 without index register, instead of erroring, | Daniel Dunbar | 2010-08-24 | 1 | -3/+4 | |
| | | | | | | for 'as' compatibility. llvm-svn: 111945 | |||||
* | remove some code that is dead now that lea's are modeled with segment registers. | Chris Lattner | 2010-08-18 | 1 | -14/+0 | |
| | | | | llvm-svn: 111343 | |||||
* | MC/X86/AsmParser: Give an explicit error message when we reject an instruction | Daniel Dunbar | 2010-08-12 | 1 | -2/+31 | |
| | | | | | | because it could have an ambiguous suffix. llvm-svn: 110890 | |||||
* | MC/AsmParser: Push the burdon of emitting diagnostics about unmatched | Daniel Dunbar | 2010-08-12 | 1 | -12/+19 | |
| | | | | | | instructions onto the target specific parser, which can do a better job. llvm-svn: 110889 | |||||
* | MCAsmParser: Add dump() hook to MCParsedAsmOperand. | Daniel Dunbar | 2010-08-11 | 1 | -0/+2 | |
| | | | | llvm-svn: 110790 | |||||
* | Support x86 "eiz" and "riz" pseudo index registers in the assembler. | Bruno Cardoso Lopes | 2010-07-24 | 1 | -1/+15 | |
| | | | | llvm-svn: 109295 | |||||
* | Remove trailing whitespace | Bruno Cardoso Lopes | 2010-07-23 | 1 | -30/+30 | |
| | | | | llvm-svn: 109276 | |||||
* | Add AVX version of CLMUL instructions | Bruno Cardoso Lopes | 2010-07-23 | 1 | -0/+17 | |
| | | | | llvm-svn: 109248 | |||||
* | MC/X86: We now match instructions like "incl %eax" correctly for the arch we are | Daniel Dunbar | 2010-07-19 | 1 | -53/+0 | |
| | | | | | | assembling; remove crufty custom cleanup code. llvm-svn: 108681 | |||||
* | TblGen/AsmMatcher: Add support for honoring instruction Requires<[]> ↵ | Daniel Dunbar | 2010-07-19 | 1 | -4/+12 | |
| | | | | | | | | 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. llvm-svn: 108677 | |||||
* | Target: Give the TargetAsmParser access to the TargetMachine. | Daniel Dunbar | 2010-07-19 | 1 | -6/+7 | |
| | | | | | | - 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. llvm-svn: 108664 | |||||
* | Don't pass StringRef by reference. | Benjamin Kramer | 2010-07-14 | 1 | -2/+2 | |
| | | | | llvm-svn: 108366 | |||||
* | Added a check that pusha cannot be encoded in 64-bit mode. | Kevin Enderby | 2010-07-13 | 1 | -0/+2 | |
| | | | | llvm-svn: 108265 | |||||
* | Add more assembly opcodes for SSE compare instructions | Bruno Cardoso Lopes | 2010-07-07 | 1 | -8/+32 | |
| | | | | llvm-svn: 107823 |