- Dec 03, 2010
-
-
Nate Begeman authored
I'm unclear if the tests are actually correct or not, but reverting for now. llvm-svn: 120847
-
Nate Begeman authored
it completely breaks scalar fp in xmm regs when AVX is enabled. llvm-svn: 120843
-
- Nov 27, 2010
-
-
Rafael Espindola authored
llvm-svn: 120224
-
- Nov 23, 2010
-
-
Rafael Espindola authored
llvm-svn: 120017
-
- Nov 21, 2010
-
-
Chris Lattner authored
when transfering between i64 gprs and mmx regs. llvm-svn: 119931
-
- Nov 12, 2010
-
-
Chris Lattner authored
llvm-svn: 118916
-
- Nov 06, 2010
-
-
Chris Lattner authored
implementing rdar://8431864 llvm-svn: 118364
-
Chris Lattner authored
different forms of this instruction (movw/movl/movq) which we reported as being ambiguous. Since they all do the same thing, gas just picks the one with the shortest encoding. Follow its lead here. This implements rdar://8208615 llvm-svn: 118362
-
Chris Lattner authored
llvm-svn: 118361
-
Chris Lattner authored
llvm-svn: 118358
-
Chris Lattner authored
exposed: GAS doesn't accept "fcomip %st(1)", it requires "fcomip %st(1), %st(0)" even though st(0) is implicit in all other fp stack instructions. Fortunately, there is an alias for fcomip named "fcompi" and gas does accept the default argument for the alias (boggle!). As such, switch the canonical form of this instruction to "pi" instead of "ip". This makes the code generator and disassembler generate pi, avoiding the gas bug. llvm-svn: 118356
-
Chris Lattner authored
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. llvm-svn: 118355
-
Chris Lattner authored
listed in its asm string, for consistency with the other similar instructions. llvm-svn: 118354
-
Chris Lattner authored
llvm-svn: 118353
-
Chris Lattner authored
fixed physical registers. Start moving fp comparison aliases to the .td file (which default to using %st1 if nothing is specified). llvm-svn: 118352
-
Chris Lattner authored
add fixed immediate values. Move the aad and aam aliases to use this, and document it. llvm-svn: 118350
-
Chris Lattner authored
llvm-svn: 118349
-
Chris Lattner authored
llvm-svn: 118348
-
Chris Lattner authored
llvm-svn: 118347
-
Chris Lattner authored
result instruction operand numbering matched the result pattern. Fixing this allows us to move the xchg/test aliases to the .td file. llvm-svn: 118334
-
Chris Lattner authored
llvm-svn: 118332
-
Chris Lattner authored
tidy up the movsx and movzx aliases. llvm-svn: 118331
-
Chris Lattner authored
from c++ hacks to proper .td InstAlias definitions. Change them! llvm-svn: 118330
-
Chris Lattner authored
operand list instead of the operand list redundantly declared on the alias or instruction. With this change, we finally remove the ins/outs list on the alias. Before: def : InstAlias<(outs GR16:$dst), (ins GR8 :$src), "movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; After: def : InstAlias<"movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; This also makes the alias mechanism more general and powerful, which will be exploited in subsequent patches. llvm-svn: 118329
-
- Nov 02, 2010
-
-
Chris Lattner authored
llvm-svn: 117967
-
- Nov 01, 2010
-
-
Chris Lattner authored
from X86AsmParser.cpp llvm-svn: 117952
-
Chris Lattner authored
must be 8 bits. Support this memory form. llvm-svn: 117902
-
Chris Lattner authored
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
-
- Oct 31, 2010
-
-
Chris Lattner authored
how the push/pop mnemonic aliases are wrong. llvm-svn: 117857
-
- Oct 30, 2010
-
-
Chris Lattner authored
"In32BitMode" and "In64BitMode" into tblgen, allow any predicate that inherits from AssemblerPredicate. llvm-svn: 117831
-
Chris Lattner authored
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
-
Chris Lattner authored
llvm-svn: 117823
-
Chris Lattner authored
llvm-svn: 117822
-
Chris Lattner authored
llvm-svn: 117821
-
Chris Lattner authored
llvm-svn: 117819
-
Chris Lattner authored
llvm-svn: 117818
-
Chris Lattner authored
llvm-svn: 117817
-
Chris Lattner authored
just remaps one mnemonic to another. Convert a few of the X86 aliases from .cpp to .td code. llvm-svn: 117815
-
- Oct 21, 2010
-
-
Michael J. Spencer authored
llvm-svn: 116984
-
Michael J. Spencer authored
llvm-svn: 116972
-