Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Delete token *after* reading from it. | Benjamin Kramer | 2010-10-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 115311 | |||||
* | preemptively add the rest of the non-n fpstack instructions. | Chris Lattner | 2010-09-30 | 1 | -3/+6 | |
| | | | | llvm-svn: 115168 | |||||
* | implement support for finit, PR8258 | Chris Lattner | 2010-09-30 | 1 | -1/+3 | |
| | | | | llvm-svn: 115156 | |||||
* | add support for fstcw, PR8259 | Chris Lattner | 2010-09-30 | 1 | -2/+8 | |
| | | | | llvm-svn: 115154 | |||||
* | implement rdar://8491845 - Gas supports commuted forms of non-commutable ↵ | Chris Lattner | 2010-09-29 | 1 | -2/+4 | |
| | | | | | | instructions. llvm-svn: 115061 | |||||
* | implement rdar://8456378 and PR7557 - support for the fstsw, | Chris Lattner | 2010-09-29 | 1 | -5/+16 | |
| | | | | | | an instruction that requires a WHOLE NEW wonderful kind of alias. llvm-svn: 115015 | |||||
* | change the protocol TargetAsmPArser::MatchInstruction method to take an | Chris Lattner | 2010-09-29 | 1 | -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 Lattner | 2010-09-27 | 1 | -0/+3 | |
| | | | | llvm-svn: 114822 | |||||
* | add a couple more aliases, rdar://8456378 | Chris Lattner | 2010-09-27 | 1 | -0/+2 | |
| | | | | llvm-svn: 114821 | |||||
* | fix rdar://8470918 - llvm-mc can't assemble smovl | Chris Lattner | 2010-09-27 | 1 | -0/+4 | |
| | | | | llvm-svn: 114819 | |||||
* | Fix rdar://8468087 - llvm-mc commutes fmul (and friend) operands. | Chris Lattner | 2010-09-27 | 1 | -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 Lattner | 2010-09-27 | 1 | -0/+11 | |
| | | | | | | but balrog was wanting it on irc. llvm-svn: 114809 | |||||
* | fix rdar://8456371 - Handle commutable instructions written backward. | Chris Lattner | 2010-09-22 | 1 | -0/+10 | |
| | | | | llvm-svn: 114536 | |||||
* | Fix an inconsistency in the x86 backend that led it to reject "calll foo" on | Chris Lattner | 2010-09-22 | 1 | -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://8456391 | Chris Lattner | 2010-09-22 | 1 | -0/+6 | |
| | | | | llvm-svn: 114531 | |||||
* | Fix rdar://8456364 - llvm-mc rejects '%CS' | Chris Lattner | 2010-09-22 | 1 | -8/+13 | |
| | | | | llvm-svn: 114528 | |||||
* | fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp' | Chris Lattner | 2010-09-22 | 1 | -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 Lattner | 2010-09-22 | 1 | -0/+6 | |
| | | | | llvm-svn: 114526 | |||||
* | fix rdar://8438816 - unrecognized 'fildq' instruction | Chris Lattner | 2010-09-16 | 1 | -1/+2 | |
| | | | | llvm-svn: 114116 | |||||
* | lcall and ljmp always default to lcalll and ljmpl. This finally | Chris Lattner | 2010-09-15 | 1 | -10/+8 | |
| | | | | | | wraps up r8418316 llvm-svn: 113949 | |||||
* | apparently jmpl $1,$2 is an alias for ljmpl, similiarly | Chris Lattner | 2010-09-15 | 1 | -0/+21 | |
| | | | | | | for call. Add this. llvm-svn: 113948 | |||||
* | Disambiguate lcall/ljmp to the 32-bit version. This happens | Chris Lattner | 2010-09-15 | 1 | -0/+10 | |
| | | | | | | even in 64-bit mode apparently. llvm-svn: 113945 | |||||
* | implement aliases for shld/shrd, part of rdar://8418316 | Chris Lattner | 2010-09-15 | 1 | -0/+9 | |
| | | | | llvm-svn: 113937 | |||||
* | 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 | |||||
* | 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 | |||||
* | 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 |