summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ISelLowering.cpp
Commit message (Expand)AuthorAgeFilesLines
* Break 256-bit vector int add/sub/mul into two 128-bit operations to avoid cos...Craig Topper2011-08-241-2/+69
* Fix a nasty bug where a v4i64 was being wrong emitted with 32-bitBruno Cardoso Lopes2011-08-231-16/+20
* PerformSubCombine to work on integers larger than i128. Fixes a crasher.Nick Lewycky2011-08-231-4/+2
* Add support for breaking 256-bit v16i16 and v32i8 VSETCC into two 128-bit one...Craig Topper2011-08-231-0/+2
* Add support for breaking 256-bit int VETCC into two 128-bit ones,Bruno Cardoso Lopes2011-08-221-1/+35
* Fix PR10688. Add support for spliting 256-bit vector shifts when theBruno Cardoso Lopes2011-08-171-11/+20
* Introduce matching patterns for vbroadcast AVX instruction. The idea is toBruno Cardoso Lopes2011-08-171-0/+47
* Update comments about vector splat handling in x86Bruno Cardoso Lopes2011-08-171-8/+7
* Now that we have a canonical way to handle 256-bit splats:Bruno Cardoso Lopes2011-08-171-38/+0
* Instead of always leaving the work to the generic legalizer whenBruno Cardoso Lopes2011-08-161-0/+96
* Fix PR10656. It's only profitable to use 128-bit inserts and extractsBruno Cardoso Lopes2011-08-151-4/+6
* Fix comment!Bruno Cardoso Lopes2011-08-121-3/+3
* The VPERM2F128 is a AVX instruction which permutes between two 256-bitBruno Cardoso Lopes2011-08-121-0/+86
* Add a dag combine to xform 256-bit shuffles into simple vectorBruno Cardoso Lopes2011-08-111-1/+54
* Fix PR10492 by teaching MOVHLPS and MOVLPS mask matching to be more strict.Bruno Cardoso Lopes2011-08-111-2/+9
* Add a comment, per Bruno's CR.Nadav Rotem2011-08-111-0/+3
* [AVX] If the data which is going to be saved is already in two XMM registersNadav Rotem2011-08-111-0/+23
* Splats for v8i32/v8f32 can be handled by VPERMILPSY. This was causingBruno Cardoso Lopes2011-08-111-6/+6
* Use the splat index to generate the desired shuffle. Otherwise weBruno Cardoso Lopes2011-08-111-4/+4
* Fix X86TargetLowering::LowerExternalSymbol so that it actually works in non-t...Eli Friedman2011-08-111-5/+16
* When performing a truncating store, it is sometimes possible to rearrange theNadav Rotem2011-08-101-2/+79
* Fix a bug in vpermilps mask checking. Fix PR10560Bruno Cardoso Lopes2011-08-101-3/+6
* Add 256-bit support for v8i32, v4i64 and v4f64 ISD::SELECT. Fix PR10556Bruno Cardoso Lopes2011-08-091-0/+7
* Use fp unpack instructions to unpack int types. Until we have AVX2, thisBruno Cardoso Lopes2011-08-091-0/+4
* Revert r137114Bruno Cardoso Lopes2011-08-091-21/+1
* Handle sitofp between v4f64 <- v4i32. Fix PR10559Bruno Cardoso Lopes2011-08-091-1/+21
* Make LowerVSETCC aware of AVX types and add patterns to match them.Bruno Cardoso Lopes2011-08-091-3/+10
* Add support for several vector shifts operations while in AVX mode. Fix PR10581Bruno Cardoso Lopes2011-08-081-10/+52
* Fix an obvious type. Patch by Ivan Krasin.Evan Cheng2011-08-041-1/+1
* Only access both operands of an INSERT_SUBVECTOR if it is an INSERT_SUBVECTOR.Bill Wendling2011-08-041-9/+10
* Remove unused variables.Benjamin Kramer2011-08-031-1/+0
* Don't create a ridiculous EXTRACT_ELEMENT. PR10563.Eli Friedman2011-08-021-3/+1
* Make this kind of lowering to be supported by 256-bit instructions:Bruno Cardoso Lopes2011-08-021-14/+24
* Add v4f64 -> v2f32 fp_round support. Also add a testcase to exerciseBruno Cardoso Lopes2011-08-011-0/+1
* Teach PreprocessISelDAG to be aware of vector types and to not process them.Bruno Cardoso Lopes2011-08-011-2/+2
* Lower CONCAT_VECTORS to use two VINSERTF128 instructions instead ofBruno Cardoso Lopes2011-08-011-5/+48
* Since vectors with all ones can't be created with a 256-bit instruction,Bruno Cardoso Lopes2011-08-011-11/+13
* Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to beEli Friedman2011-07-291-1/+3
* Fix two tests that I crashed in the previous commits. The mask eltsBruno Cardoso Lopes2011-07-291-5/+17
* Match VPERMIL masks more strictly and update the target specific maskBruno Cardoso Lopes2011-07-291-7/+17
* Add DecodeShuffle shuffle support for VPERMIPD variantesBruno Cardoso Lopes2011-07-291-2/+16
* Fix a bug while generating target specific VPERMIL masks: skipBruno Cardoso Lopes2011-07-291-4/+12
* Enable usage of SSE4 extracts and inserts in their 128-bit AVX forms.Bruno Cardoso Lopes2011-07-291-39/+29
* Cleanup PALIGNR handling and remove the old palign pattern fragment.Bruno Cardoso Lopes2011-07-291-6/+2
* Invert the subvector insertion to be more likely to be taken as a COPYBruno Cardoso Lopes2011-07-281-3/+3
* Add SINT_TO_FP and FP_TO_SINT support for v8i32 types. Also moveBruno Cardoso Lopes2011-07-281-0/+3
* Code generation for 'fence' instruction.Eli Friedman2011-07-271-1/+42
* Explicitly cast narrowing conversions inside {}s that will become errors inJeffrey Yasskin2011-07-271-1/+1
* Move some code around to open opportunity for more shuffle matchingBruno Cardoso Lopes2011-07-271-18/+18
* The vpermilps and vpermilpd have different behaviour regarding theBruno Cardoso Lopes2011-07-271-26/+126
OpenPOWER on IntegriCloud