- Nov 06, 2010
-
-
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 05, 2010
-
-
Jim Grosbach authored
llvm-svn: 118288
-
- Nov 04, 2010
-
-
Duncan Sands authored
sequence of loads and stores was being generated to perform the copy on the x86 targets if the parameter was less than 4 byte aligned, causing llc to use up vast amounts of memory and time. Use a "rep movs" form instead. PR7170. llvm-svn: 118260
-
Duncan Sands authored
and as such can be represented by an MVT - the more complicated EVT is not needed. Use MVT for ValVT everywhere. llvm-svn: 118245
-
- Nov 03, 2010
-
-
Duncan Sands authored
with a SimpleValueType, while an EVT supports equality and inequality comparisons with SimpleValueType. llvm-svn: 118169
-
Duncan Sands authored
value type, so there is no point in passing it around using an EVT. Use the simpler MVT everywhere. Rather than trying to propagate this information maximally in all the code that using the calling convention stuff, I chose to do a mainly low impact change instead. llvm-svn: 118167
-
- 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
-
Chris Lattner authored
in their asmstring. Fix the two x86 "NOREX" instructions that have them. If these comments are important, the instlowering stuff can print them. llvm-svn: 117897
-
Chris Lattner authored
various X86 and ARM instructions that are bitten by this as isCodeGenOnly, as they are. llvm-svn: 117884
-
- Oct 31, 2010
-
-
Chris Lattner authored
Use this to make the X86 and ARM targets set isCodeGenOnly=1 automatically for their instructions that have Format=Pseudo, resolving a hack in tblgen. llvm-svn: 117862
-
Chris Lattner authored
and make it a hard error for instructions to not have an asm string. These instructions should be marked isCodeGenOnly. llvm-svn: 117861
-
Chris Lattner authored
how the push/pop mnemonic aliases are wrong. llvm-svn: 117857
-
Duncan Sands authored
calling convention out of the fast and normal ISel files, and into the calling convention TD file. llvm-svn: 117856
-
Duncan Sands authored
which has the same logic specified in the CallingConv TD file. This brings FastISel in line with the standard X86 ISel. llvm-svn: 117855
-
- 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: 117824
-
Chris Lattner authored
llvm-svn: 117823
-
Chris Lattner authored
llvm-svn: 117822
-
Chris Lattner authored
llvm-svn: 117821
-
Chris Lattner authored
for shl. Caught by inspection. llvm-svn: 117820
-
Chris Lattner authored
llvm-svn: 117819
-
Chris Lattner authored
llvm-svn: 117818
-
Chris Lattner authored
llvm-svn: 117817
-
Chris Lattner authored
llvm-svn: 117816
-
Chris Lattner authored
just remaps one mnemonic to another. Convert a few of the X86 aliases from .cpp to .td code. llvm-svn: 117815
-
Jim Grosbach authored
llvm-svn: 117785
-
Chris Lattner authored
llvm-svn: 117773
-
- Oct 29, 2010
-
-
John Thompson authored
Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support. llvm-svn: 117667
-
- Oct 28, 2010
-
-
Dale Johannesen authored
Bruno, please review, but I'm pretty sure this is right. Patch by Alex Mac! llvm-svn: 117514
-
- Oct 27, 2010
-
-
Kevin Enderby authored
llvm-svn: 117485
-
Michael J. Spencer authored
llvm-svn: 117474
-
Kevin Enderby authored
(still to add ud2b). llvm-svn: 117435
-
Kevin Enderby authored
the wait prefix). llvm-svn: 117434
-
Kevin Enderby authored
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
-
Kevin Enderby authored
will accept versions that the darwin assembler allows. Forms ending in "pi" and forms without all the operands. llvm-svn: 117427
-
Dale Johannesen authored
memory, so a MachineMemOperand is useful (not propagated into the MachineInstr yet). No functional change except for dump output. llvm-svn: 117413
-