aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86InstrSSE.td
AgeCommit message (Expand)Author
2008-12-18Fixed x86 code generation of multiple for v2i64. It was incorrect for SSE4.1.Mon P Wang
2008-12-03Rename isSimpleLoad to canFoldAsLoad, to better reflect its meaning.Dan Gohman
2008-12-03Mark x86's V_SET0 and V_SETALLONES with isSimpleLoad, and teach X86'sDan Gohman
2008-10-17Fix lfence and mfence encoding. These look like MRM5r and MRM6r instructions ...Evan Cheng
2008-10-16Fix the predicate for memop64 to be a regular load, not justDan Gohman
2008-10-15Now that predicates can be composed, simplify several ofDan Gohman
2008-10-10Fix SSE4.1 roundss, roundsd. While the instructions have Dale Johannesen
2008-10-07Certain patterns involving the "movss" instruction were marked as requiring S...Anders Carlsson
2008-10-02"The original bug was a complaint that _mm_srli_si128 mis-compiled when passedBill Wendling
2008-09-26Implement "punpckldq %xmm0, $xmm0" as "pshufd $0x50, %xmm0, %xmm" unless op...Evan Cheng
2008-09-26unpckhps requires sse1, punpckhdq requires sse2.Evan Cheng
2008-09-25With sse3 and when the source is a load or has multiple uses, favors movddup ...Evan Cheng
2008-09-25pmovsxbq etc. requires sse4.1.Evan Cheng
2008-09-24Fix patterns for SSE4.1 move and sign extend instructions. Also add instructi...Evan Cheng
2008-09-12Rename ConstantSDNode::getValue to getZExtValue, for consistencyDan Gohman
2008-09-05Fix for PR2687: Add patterns to match sint_to_fp and fp_to_sint for <2 x Eli Friedman
2008-08-28FsFLD0S{S|D} and V_SETALLONES are as cheap as moves.Evan Cheng
2008-08-20Tablegen generated code already tests the opcode value, so it's notDan Gohman
2008-08-08Add an EXTRACTPSmr pattern to match the pattern thatDan Gohman
2008-08-05Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64.Evan Cheng
2008-07-17Fix a typo in last commitNate Begeman
2008-07-17SSE codegen for vsetcc nodesNate Begeman
2008-07-10Fix for PR2472. Use movss to set lower 32-bits of a zero XMM vector.Evan Cheng
2008-06-16Horizontal-add instructions are not commutative.Evan Cheng
2008-06-16mpsadbw is commutable.Evan Cheng
2008-06-13Disable some DAG combiner optimizations that may beDuncan Sands
2008-05-29Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq.Evan Cheng
2008-05-28Fix the encoding for two more "rm" instructions that were using MRMSrcReg.Dan Gohman
2008-05-28Fixed X86 encoding error CVTPS2PD and CVTPD2PS when the source operandMon P Wang
2008-05-24Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq.Evan Cheng
2008-05-24Eliminate x86.sse2.movs.d, x86.sse2.shuf.pd, x86.sse2.unpckh.pd, and x86.sse2...Evan Cheng
2008-05-24Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into lo...Evan Cheng
2008-05-23Use movlps / movhps to modify low / high half of 16-byet memory location.Evan Cheng
2008-05-23Fix a duplicated pattern.Evan Cheng
2008-05-23Use PMULDQ for v2i64 multiplies when SSE4.1 is available. And addDan Gohman
2008-05-23Bug: rcpps can only folds a load if the address is 16-byte aligned. Fixed man...Evan Cheng
2008-05-22Add missing patterns.Evan Cheng
2008-05-20movsd and movq do not require 16-byte alignment. This fixes vec_set-5.ll on L...Evan Cheng
2008-05-13Fix one more encoding bug.Nate Begeman
2008-05-13Fix and encoding error in the psrad xmm, imm8 instruction.Nate Begeman
2008-05-12Teach Legalize how to scalarize VSETCCNate Begeman
2008-05-12Initial X86 codegen support for VSETCC.Nate Begeman
2008-05-10Some clean up.Evan Cheng
2008-05-09Add a pattern to do move the low element of a v4f32 and zero extend the rest.Evan Cheng
2008-05-09Handle a few more cases of folding load i64 into xmm and zero top bits.Evan Cheng
2008-05-08Use movq to move low half of XMM register and zero-extend the rest.Evan Cheng
2008-05-08Handle vector move / load which zero the destination register top bits (i.e. ...Evan Cheng
2008-05-03Add separate intrinsics for MMX / SSE shifts with i32 integer operands. This ...Evan Cheng
2008-05-0280 column violation.Evan Cheng
2008-04-20A better fix for my previous patch, MOVZQI2PQIrr just requires SSE2.Chris Lattner