summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmParser
Commit message (Collapse)AuthorAgeFilesLines
...
* move the lcall/ljmp aliases to the .td file.Chris Lattner2010-11-061-29/+0
| | | | llvm-svn: 118332
* move the "movsd -> movsl" alias to the .td files, Chris Lattner2010-11-061-6/+0
| | | | | | tidy up the movsx and movzx aliases. llvm-svn: 118331
* fix some bugs in the alias support, unblocking changing of "clr" aliasesChris Lattner2010-11-061-11/+0
| | | | | | from c++ hacks to proper .td InstAlias definitions. Change them! llvm-svn: 118330
* use our fancy new MnemonicAlias mechanism to remove a bunch of hacksChris Lattner2010-11-011-48/+0
| | | | | | from X86AsmParser.cpp llvm-svn: 117952
* Implement enough of the missing instalias support to getChris Lattner2010-11-011-3/+0
| | | | | | | | | | | | | | | | | | 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. llvm-svn: 117901
* Implement (and document!) support for MnemonicAlias's to have Requires Chris Lattner2010-10-301-13/+7
| | | | | | | | | | | 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. llvm-svn: 117830
* really zap alias.Chris Lattner2010-10-301-1/+0
| | | | llvm-svn: 117824
* move fcompi alias to .td file and zap some useless code.Chris Lattner2010-10-301-11/+0
| | | | llvm-svn: 117823
* move rep aliases to td fileChris Lattner2010-10-301-5/+3
| | | | llvm-svn: 117822
* move sal aliases to .td file.Chris Lattner2010-10-301-5/+0
| | | | llvm-svn: 117821
* fix an encoding mismatch where "sal %eax, 1" was not using the short encodingChris Lattner2010-10-301-1/+1
| | | | | | for shl. Caught by inspection. llvm-svn: 117820
* move a bunch more aliases from .cpp -> .td file.Chris Lattner2010-10-301-20/+9
| | | | llvm-svn: 117819
* move cmov aliases to .td file.Chris Lattner2010-10-301-29/+0
| | | | llvm-svn: 117818
* move setcc and jcc aliases from .cpp to .tdChris Lattner2010-10-301-14/+0
| | | | llvm-svn: 117817
* move some code.Chris Lattner2010-10-301-33/+35
| | | | llvm-svn: 117816
* implement (and document!) the first kind of MC assembler alias, which Chris Lattner2010-10-301-15/+0
| | | | | | | just remaps one mnemonic to another. Convert a few of the X86 aliases from .cpp to .td code. llvm-svn: 117815
* stay out of the reserved namespaceChris Lattner2010-10-301-6/+6
| | | | llvm-svn: 117773
* Yet another tweak to X86 instructions to add ud2a as an alias to ud2Kevin Enderby2010-10-271-0/+1
| | | | | | (still to add ud2b). llvm-svn: 117435
* Another tweak to X86 instructions to add the missing flex instruction (withoutKevin Enderby2010-10-271-1/+2
| | | | | | the wait prefix). llvm-svn: 117434
* Tweaks to X86 instructions to allow the 'w' suffix in places it makesKevin Enderby2010-10-271-0/+6
| | | | | | | | | 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. llvm-svn: 117433
* Added some aliases to the fcomip and fucompi Intel instructions. So that llvm-mcKevin Enderby2010-10-271-1/+14
| | | | | | | will accept versions that the darwin assembler allows. Forms ending in "pi" and forms without all the operands. llvm-svn: 117427
* Reverting r117031 to cleanup valgrind errors.Andrew Trick2010-10-221-7/+2
| | | | | | | It doesn't look like anything is wrong with the checkin, but the new test cases expose a mem bug in AsmParser. llvm-svn: 117087
* More tweaks to X86 instructions to allow the 'w' suffix in places it makesKevin Enderby2010-10-211-2/+7
| | | | | | | | | 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). llvm-svn: 117031
* Added a few tweaks to the Intel Descriptor-table support instructions to allowKevin Enderby2010-10-191-0/+40
| | | | | | | 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 . llvm-svn: 116773
* Added a handful of x86-32 instructions that were missing so that llvm-mc wouldKevin Enderby2010-10-181-0/+7
| | | | | | | | | | 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. llvm-svn: 116716
* Fix Whitespace.Michael J. Spencer2010-10-091-46/+46
| | | | llvm-svn: 116149
* Replace a gross hack (the MOV64ri_alt instruction) with a slightly less Chris Lattner2010-10-051-1/+9
| | | | | | gross hack (having the asmmatcher handle the alias). llvm-svn: 115685
* 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
OpenPOWER on IntegriCloud