- Apr 06, 2010
-
-
Evan Cheng authored
llvm-svn: 100480
-
- Apr 02, 2010
-
-
Eric Christopher authored
a new subtarget option for AES and check for the support. Add "westmere" line of processors and add AES-NI support to the core i7. Add a couple of TODOs for information I couldn't verify. llvm-svn: 100231
-
- Mar 28, 2010
-
-
Chris Lattner authored
*input* of other type, which is the VT. llvm-svn: 99749
-
Chris Lattner authored
llvm-svn: 99743
-
Chris Lattner authored
nodes all have an EFLAGS result when made by isel lowering. llvm-svn: 99736
-
- Mar 27, 2010
-
-
Chris Lattner authored
llvm-svn: 99700
-
Chris Lattner authored
llvm-svn: 99686
-
- Mar 25, 2010
-
-
Jakob Stoklund Olesen authored
Remove much horribleness from X86InstrFormats as a result. Similar simplifications are probably possible for other targets. llvm-svn: 99539
-
Chris Lattner authored
handles dead implicit results more aggressively. More to come, I think this is now just a data entry problem. llvm-svn: 99486
-
Evan Cheng authored
addl $12, %esp popl %esi popl %edi popl %ebx popl %ebp jmpl *__Block_deallocator-L1$pb(%esi) # TAILCALL The problem is the global base register is assigned GR32 register class. TCRETURNmi needs the registers making up the address mode to have the GR32_TC register class. The *proper* fix is for X86DAGToDAGISel::getGlobalBaseReg() to return a copy from the global base register of the machine function rather than returning the register itself. But that has the potential of causing it to be coalesced to a more restrictive register class: GR32_TC. It can introduce additional copies and spills. For something as important the PIC base, it's not worth it especially since this is not an issue on 64-bit. llvm-svn: 99455
-
- Mar 24, 2010
-
-
Chris Lattner authored
and defining the add pattern with Pat<>, eliminating a use of parallel. llvm-svn: 99375
-
Chris Lattner authored
llvm-svn: 99370
-
Chris Lattner authored
ISD node. The only change in the generated isel code are comments like: < // Src: (X86dec_flag:i16 GR16:i16:$src) --- > // Src: (X86dec_flag:i16:i32 GR16:i16:$src) because now it knows that X86dec_flag returns both an i16 (for the result) and an i32 (for EFLAGS) in this case. Wewt. llvm-svn: 99369
-
Chris Lattner authored
llvm-svn: 99359
-
Chris Lattner authored
llvm-svn: 99358
-
- Mar 19, 2010
-
-
Chris Lattner authored
that they are dead. llvm-svn: 99000
-
Chris Lattner authored
dag isel gen instead of instruction properties. This allows the oh-so-useful behavior of matching a variadic non-root node. llvm-svn: 98934
-
Chris Lattner authored
can't match or just have no testcases. Will remove after confirmation from dan that they really are dead. llvm-svn: 98930
-
Chris Lattner authored
to input patterns, we can fix X86ISD::CMP and X86ISD::BT as taking two inputs (which have to be the same type) and *returning an i32*. This is how the SDNodes get made in the graph, but we weren't able to model it this way due to deficiencies in the pattern language. Now we can change things like this: def UCOM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP, - [(X86cmp RFP80:$lhs, RFP80:$rhs), - (implicit EFLAGS)]>; // CC = ST(0) cmp ST(i) + [(set EFLAGS, (X86cmp RFP80:$lhs, RFP80:$rhs))]>; and fix terrible crimes like this: -def : Pat<(parallel (X86cmp GR8:$src1, 0), (implicit EFLAGS)), +def : Pat<(X86cmp GR8:$src1, 0), (TEST8rr GR8:$src1, GR8:$src1)>; This relies on matching the result of TEST8rr (which is EFLAGS, which is an implicit def) to the result of X86cmp, an i32. llvm-svn: 98903
-
- Mar 18, 2010
-
-
Chris Lattner authored
llvm-svn: 98864
-
- Mar 16, 2010
-
-
Chris Lattner authored
with the integrated assembler! llvm-svn: 98615
-
- Mar 14, 2010
-
-
Chris Lattner authored
the operand type. llvm-svn: 98507
-
Chris Lattner authored
PR4841. Patch by Craig Smith! llvm-svn: 98496
-
Evan Cheng authored
Do not force indirect tailcall through fixed registers: eax, r11. Add support to allow loads to be folded to tail call instructions. llvm-svn: 98465
-
- Mar 09, 2010
-
-
Daniel Dunbar authored
MC/X86: Rename alternate spellings of ADD{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher. llvm-svn: 98098
-
Daniel Dunbar authored
MC/X86: Rename alternate spellings of CMP{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher. llvm-svn: 98097
-
- Mar 08, 2010
-
-
Kevin Enderby authored
for the encoding and is not the same as vmptrld. llvm-svn: 97992
-
Daniel Dunbar authored
llvm-svn: 97982
-
Chris Lattner authored
llvm-svn: 97957
-
- Mar 06, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 97888
-
Anton Korobeynikov authored
We cannot use a normal call here since it has extra unmodelled side effects (it changes stack pointer). This should fix PR5292. llvm-svn: 97884
-
- Mar 04, 2010
-
-
Jakob Stoklund Olesen authored
These instructions technically define AL,AH, but a trick in X86ISelDAGToDAG reads AX in order to avoid reading AH with a REX instruction. Fix PR6489. llvm-svn: 97742
-
- Mar 03, 2010
-
-
Chris Lattner authored
better done by dag combine. llvm-svn: 97633
-
Chris Lattner authored
'dsload' pattern. tblgen doesn't check patterns to see if they're textually identical. This allows better factoring. llvm-svn: 97630
-
Chris Lattner authored
that they are not destination type specific. This allows tblgen to factor them and the type check is redundant with what the isel does anyway. llvm-svn: 97629
-
- Feb 28, 2010
-
-
Dan Gohman authored
llvm-svn: 97348
-
- Feb 24, 2010
-
-
Jakob Stoklund Olesen authored
instead of %AL/%AH. llvm-svn: 97006
-
- Feb 23, 2010
-
-
Chris Lattner authored
though some look dubious afaict, these are all ok. llvm-svn: 96899
-
- Feb 13, 2010
-
-
Sean Callanan authored
tables. llvm-svn: 96073
-
Sean Callanan authored
llvm-svn: 96065
-