- Mar 30, 2012
-
-
Benjamin Kramer authored
llvm-svn: 153741
-
- Mar 29, 2012
-
-
Lang Hames authored
llvm-svn: 153680
-
Benjamin Kramer authored
Replace assert(0) with llvm_unreachable to avoid warnings about dropping off the end of a non-void function in Release builds. llvm-svn: 153643
-
Craig Topper authored
Only allow symbolic names for (v)cmpss/sd/ps/pd encodings 8-31 to be used with 'v' version of instructions. llvm-svn: 153636
-
Joel Jones authored
This is a code change to add support for changing instruction sequences of the form: load inc/dec of 8/16/32/64 bits store into the appropriate X86 inc/dec through memory instruction: inc[qlwb] / dec[qlwb] The checks that were in X86DAGToDAGISel::Select(SDNode *Node)>>ISD::STORE have been extracted to isLoadIncOrDecStore and reworked to use the better named wrappers for getOperand(unsigned) (e.g. getOffset()) and replaced Chain.getNode() with LoadNode. The comments have also been expanded. llvm-svn: 153635
-
Joel Jones authored
llvm-svn: 153623
-
Joel Jones authored
This is a code change to add support for changing instruction sequences of the form: load inc/dec of 8/16/32/64 bits store into the appropriate X86 inc/dec through memory instruction: inc[qlwb] / dec[qlwb] The checks that were in X86DAGToDAGISel::Select(SDNode *Node)>>ISD::STORE have been extracted to isLoadIncOrDecStore and reworked to use the better named wrappers for getOperand(unsigned) (e.g. getOffset()) and replaced Chain.getNode() with LoadNode. The comments have also been expanded. llvm-svn: 153617
-
- Mar 27, 2012
-
-
Craig Topper authored
llvm-svn: 153502
-
Craig Topper authored
llvm-svn: 153500
-
- Mar 21, 2012
-
-
Joerg Sonnenberger authored
llvm-svn: 153185
-
Benjamin Kramer authored
llvm-svn: 153184
-
Joerg Sonnenberger authored
the invalid cases. At least 16bit operand in 64bit mode is currently not rejected in the parser. llvm-svn: 153166
-
Craig Topper authored
Spacing fixes and using 'unsigned' instead of 'int' to index to select shuffle elements for consistency with other shuffle code in X86 backend. llvm-svn: 153154
-
- Mar 20, 2012
-
-
Chad Rosier authored
vextractf128 with 128-bit mem dest. Combines vextractf128 $0, %ymm0, %xmm0 vmovaps %xmm0, (%rdi) to vextractf128 $0, %ymm0, (%rdi) rdar://11082570 llvm-svn: 153139
-
Chad Rosier authored
precedence over the VINSERTF128 avx1 patterns. llvm-svn: 153114
-
Chad Rosier authored
llvm-svn: 153105
-
Chad Rosier authored
whitespace from test case. No functional change intended. llvm-svn: 153103
-
Chad Rosier authored
This results in things such as vmovups 16(%rdi), %xmm0 vinsertf128 $1, %xmm0, %ymm0, %ymm0 to be combined to vinsertf128 $1, 16(%rdi), %ymm0, %ymm0 rdar://11076953 llvm-svn: 153092
-
Craig Topper authored
Remove code that prevented lowering shuffles if they are used by load and themselves used by a extract_vector_elt. This was done to allow the DAG combiner to collapse to a single element load. Unfortunately, sometimes the extract_vector_elt would disappear before DAG combine could do the transformation leaving a vector_shuffle that isel couldn't handle. New code lets the shuffle be converted to a target specific node, but then adds a combine routine that can convert target specific nodes back to vector_shuffles if the folding criteria are met. llvm-svn: 153080
-
Craig Topper authored
Factor out target shuffle mask decoding from getShuffleScalarElt and use a SmallVector of int instead of unsigned for shuffle mask in decode functions. Preparation for another change. llvm-svn: 153079
-
- Mar 19, 2012
-
-
Preston Gurd authored
X86InstrCompiler.td. It also adds –mcpu-generic to the legalize-shift-64.ll test so the test will pass if run on an Intel Atom CPU, which would otherwise produce an instruction schedule which differs from that which the test expects. llvm-svn: 153033
-
Benjamin Kramer authored
llvm-svn: 153031
-
- Mar 18, 2012
-
-
Craig Topper authored
llvm-svn: 153027
-
- Mar 17, 2012
-
-
Craig Topper authored
Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. llvm-svn: 152997
-
- Mar 15, 2012
-
-
Chad Rosier authored
This results in things such as vmovaps -96(%rbx), %xmm1 vinsertf128 $1, %xmm1, %ymm0, %ymm0 to be combined to vinsertf128 $1, -96(%rbx), %ymm0, %ymm0 rdar://10643481 llvm-svn: 152762
-
- Mar 13, 2012
-
-
Kevin Enderby authored
instruction's destination operand like it does for the source operand. Also fix a typo in the comment for X86AsmParser::isSrcOp(). llvm-svn: 152654
-
- Mar 12, 2012
-
-
Kevin Enderby authored
registers not both being 64-bit or both being 32-bit registers. llvm-svn: 152580
-
- Mar 11, 2012
-
-
Craig Topper authored
llvm-svn: 152538
-
- Mar 10, 2012
-
-
Kay Tiong Khoo authored
llvm-svn: 152507
-
Benjamin Kramer authored
llvm-svn: 152495
-
Bill Wendling authored
Patch by Kay Tiong Khoo! llvm-svn: 152487
-
- Mar 09, 2012
-
-
Kevin Enderby authored
llvm-svn: 152443
-
Kevin Enderby authored
prefix. Added a FIXME to remind us this still does not work when it is not the first prefix. llvm-svn: 152414
-
Craig Topper authored
llvm-svn: 152391
-
Chad Rosier authored
Original commit message from r147481: DAGCombine for transforming 128->256 casts into a vmovaps, rather then a vxorps + vinsertf128 pair if the original vector came from a load. Fix: Unaligned loads need to generate a vmovups. rdar://10974078 llvm-svn: 152366
-
- Mar 06, 2012
-
-
Eli Friedman authored
llvm-svn: 152136
-
- Mar 05, 2012
-
-
Jim Grosbach authored
Used to allow context sensitive printing of super-register or sub-register references. llvm-svn: 152043
-
Chad Rosier authored
Specifically, remove the magic number when checking to see if the copy has a glue operand and simplify the checking logic. rdar://10930395 llvm-svn: 152041
-
Eli Friedman authored
llvm-svn: 152014
-
- Mar 04, 2012
-
-
Craig Topper authored
llvm-svn: 152001
-