summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Delete token *after* reading from it.Benjamin Kramer2010-10-011-1/+1
| | | | llvm-svn: 115311
* preemptively add the rest of the non-n fpstack instructions.Chris Lattner2010-09-301-3/+6
| | | | llvm-svn: 115168
* implement support for finit, PR8258Chris Lattner2010-09-301-1/+3
| | | | llvm-svn: 115156
* add support for fstcw, PR8259Chris Lattner2010-09-301-2/+8
| | | | llvm-svn: 115154
* implement rdar://8491845 - Gas supports commuted forms of non-commutable ↵Chris Lattner2010-09-291-2/+4
| | | | | | instructions. llvm-svn: 115061
* implement rdar://8456378 and PR7557 - support for the fstsw,Chris Lattner2010-09-291-5/+16
| | | | | | an instruction that requires a WHOLE NEW wonderful kind of alias. llvm-svn: 115015
* change the protocol TargetAsmPArser::MatchInstruction method to take anChris Lattner2010-09-291-9/+13
| | | | | | | MCStreamer to emit into instead of an MCInst to fill in. This allows the matcher extra flexibility and is more convenient. llvm-svn: 115014
* yet more aliases.Chris Lattner2010-09-271-0/+3
| | | | llvm-svn: 114822
* add a couple more aliases, rdar://8456378Chris Lattner2010-09-271-0/+2
| | | | llvm-svn: 114821
* fix rdar://8470918 - llvm-mc can't assemble smovlChris Lattner2010-09-271-0/+4
| | | | llvm-svn: 114819
* Fix rdar://8468087 - llvm-mc commutes fmul (and friend) operands.Chris Lattner2010-09-271-5/+4
| | | | | | | | My previous fix for rdar://8456371 should only apply to fmulp/faddp, not to fmul/fadd. Instruction set orthogonality is overrated or something. llvm-svn: 114818
* implement support for 'clr' alias. This is part of rdar://8416805,Chris Lattner2010-09-271-0/+11
| | | | | | but balrog was wanting it on irc. llvm-svn: 114809
* fix rdar://8456371 - Handle commutable instructions written backward.Chris Lattner2010-09-221-0/+10
| | | | llvm-svn: 114536
* Fix an inconsistency in the x86 backend that led it to reject "calll foo" onChris Lattner2010-09-221-0/+8
| | | | | | | | | | | | 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. llvm-svn: 114534
* add the missing aliases for fp stack cmovs, rdar://8456391Chris Lattner2010-09-221-0/+6
| | | | llvm-svn: 114531
* Fix rdar://8456364 - llvm-mc rejects '%CS'Chris Lattner2010-09-221-8/+13
| | | | llvm-svn: 114528
* fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp'Chris Lattner2010-09-221-0/+8
| | | | | | | | | -This line, and those below, will be ignored-- M test/MC/AsmParser/X86/x86_instructions.s M lib/Target/X86/AsmParser/X86AsmParser.cpp llvm-svn: 114527
* fix rdar://8456361 - llvm-mc rejects 'rep movsd'Chris Lattner2010-09-221-0/+6
| | | | llvm-svn: 114526
* fix rdar://8438816 - unrecognized 'fildq' instructionChris Lattner2010-09-161-1/+2
| | | | llvm-svn: 114116
* lcall and ljmp always default to lcalll and ljmpl. This finallyChris Lattner2010-09-151-10/+8
| | | | | | wraps up r8418316 llvm-svn: 113949
* apparently jmpl $1,$2 is an alias for ljmpl, similiarlyChris Lattner2010-09-151-0/+21
| | | | | | for call. Add this. llvm-svn: 113948
* Disambiguate lcall/ljmp to the 32-bit version. This happensChris Lattner2010-09-151-0/+10
| | | | | | even in 64-bit mode apparently. llvm-svn: 113945
* implement aliases for shld/shrd, part of rdar://8418316Chris Lattner2010-09-151-0/+9
| | | | llvm-svn: 113937
* fix rdar://8431880 - rcl/rcr with no shift amount not recognizedChris Lattner2010-09-151-1/+9
| | | | llvm-svn: 113936
* add various broken forms of fnstsw. I didn't add the %raxChris Lattner2010-09-151-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://8431422Chris Lattner2010-09-151-7/+9
| | | | llvm-svn: 113930
* add a bunch of aliases for fp operations with no operand,Chris Lattner2010-09-151-5/+22
| | | | | | rdar://8431422 llvm-svn: 113929
* Diagnose invalid instructions like "incl" with "too few operands for ↵Chris Lattner2010-09-151-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 Lattner2010-09-141-0/+14
| | | | | | This fixes PR8114 llvm-svn: 113894
* add a missed cmov alias, part of rdar://8416805Chris Lattner2010-09-111-0/+2
| | | | llvm-svn: 113693
* add support for all the setCC aliases. Part of rdar://8416805Chris Lattner2010-09-111-16/+14
| | | | llvm-svn: 113692
* add support for pushfd/popfd which are aliases for pushfl/popfl.Chris Lattner2010-09-111-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 Lattner2010-09-111-1/+33
| | | | llvm-svn: 113689
* fix the asmparser so that the target is responsible for skipping toChris Lattner2010-09-111-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
* fix rdar://8407548, I missed the commuted form of xchg/test without a suffix.Chris Lattner2010-09-081-2/+4
| | | | llvm-svn: 113427
* fix bugs in push/pop segment support, rdar://8407242Chris Lattner2010-09-081-0/+1
| | | | llvm-svn: 113422
* add support for the commuted form of the test instruction, rdar://8018260.Chris Lattner2010-09-081-0/+10
| | | | llvm-svn: 113352
* implement proper support for sysret{,l,q}, rdar://8403907Chris Lattner2010-09-081-0/+1
| | | | llvm-svn: 113350
* implement the iret suite of instructions properly,Chris Lattner2010-09-081-0/+1
| | | | | | fixing rdar://8403974 llvm-svn: 113349
* add support for instruction prefixes on the same line as the instruction,Chris Lattner2010-09-081-6/+17
| | | | | | implementing rdar://8033482 and PR7254. llvm-svn: 113348
* change the MC "ParseInstruction" interface to make it the Chris Lattner2010-09-081-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 Lattner2010-09-081-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 Lattner2010-09-081-14/+0
| | | | | | rdar://8061602 llvm-svn: 113343
* Don't leak the old operand when transforming "sldt" into "sldtw".Benjamin Kramer2010-09-071-1/+3
| | | | llvm-svn: 113200
* add missing cmov aliases, this resolves rdar://8208499Chris Lattner2010-09-071-13/+27
| | | | llvm-svn: 113189
* remove duplicated entryChris Lattner2010-09-061-1/+0
| | | | llvm-svn: 113188
* "sldt <mem>" is ambiguous in 64-bit mode, but shouldChris Lattner2010-09-061-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 Lattner2010-09-061-0/+1
| | | | llvm-svn: 113184
* in the case where an instruction only has one implementationChris Lattner2010-09-061-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 Lattner2010-09-061-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
OpenPOWER on IntegriCloud