- Oct 06, 2010
-
-
Chris Lattner authored
where !cast is just as short. llvm-svn: 115722
-
Chris Lattner authored
!strconcat(!strconcat(!strconcat(!strconcat Simplify some x86 td files to use it. llvm-svn: 115719
-
- Oct 05, 2010
-
-
Chris Lattner authored
the right places. X86Instr64bit.td now dies, long live x86-64! llvm-svn: 115669
-
Chris Lattner authored
pseudo instructions. Move POPCNT to InstrSSE since they are SSE4 instructions. llvm-svn: 115603
-
- Sep 29, 2010
-
-
-
-
Chris Lattner authored
operands. With this done, we can remove the _Int suffixes from the round instructions without the disassembler blowing up. This allows the assembler to support them, implementing rdar://8456376 - llvm-mc rejects 'roundss' llvm-svn: 115019
-
Chris Lattner authored
Clean up cvttps2dq by removing some redundant implementations of the same instruction. rdar://8456382 llvm-svn: 115018
-
-
- Sep 13, 2010
-
-
Dale Johannesen authored
v8i16 is not an MMX type; put it where it belongs. llvm-svn: 113785
-
- Sep 09, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 113522
-
Dale Johannesen authored
llvm-svn: 113501
-
Dale Johannesen authored
uses MMX, even if it also uses other things) from InstrSSE into InstrMMX. No (intended) functional change. llvm-svn: 113462
-
- Sep 08, 2010
-
-
Bruno Cardoso Lopes authored
nodes to emit shuffles and don't do isel mask matching anymore. - Add the selection of the remaining shuffle opcode (movddup) - Introduce two new functions to "recognize" where we may get potential folds and add several comments to them explaining why they are not yet in the desidered shape. - Add more patterns to fallback the case where we select a specific shuffle opcode as if it could fold a load, but it can't, so remap to a valid instruction. - Add a couple of FIXMEs to address in the following days once there's a good solution to the current folding problem. llvm-svn: 113369
-
- Sep 07, 2010
-
-
Dale Johannesen authored
Enable palignr intrinsic. These may need adjustment for a new VT in due course. llvm-svn: 113233
-
Bruno Cardoso Lopes authored
llvm-svn: 113224
-
- Sep 03, 2010
-
-
Dale Johannesen authored
Bruno, please review. llvm-svn: 113014
-
Bruno Cardoso Lopes authored
llvm-svn: 113009
-
Daniel Dunbar authored
some infinite loop and select failures. - Apologies for eager reverting, but its branch day. llvm-svn: 113000
-
Bruno Cardoso Lopes authored
The AVX versions of PALIGN and PABS* should only exist for 128-bit. Remove the unnecessary stuff. llvm-svn: 112944
-
Bruno Cardoso Lopes authored
- Teach getShuffleScalarElt how to handle more target specific nodes, so the DAGCombine can make use of it. - Add another hack to avoid the node update problem during legalization. More description on the comments llvm-svn: 112934
-
- Sep 02, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 112799
-
Bruno Cardoso Lopes authored
check more strict, breaking some cases not checked in the testsuite, but also exposes some foldings not done before, as this example: movaps (%rdi), %xmm0 movaps (%rax), %xmm1 movaps %xmm0, %xmm2 movss %xmm1, %xmm2 shufps $36, %xmm2, %xmm0 now is generated as: movaps (%rdi), %xmm0 movaps %xmm0, %xmm1 movlps (%rax), %xmm1 shufps $36, %xmm1, %xmm0 llvm-svn: 112753
-
- Sep 01, 2010
-
-
Bruno Cardoso Lopes authored
Use movlps, movlpd, movss and movsd specific nodes instead of pattern matching with movlp pattern fragment llvm-svn: 112694
-
Bruno Cardoso Lopes authored
llvm-svn: 112661
-
Bruno Cardoso Lopes authored
llvm-svn: 112657
-
- Aug 31, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 112642
-
- Aug 24, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 111890
-
- Aug 21, 2010
-
-
Bruno Cardoso Lopes authored
general idea here is to have a group of x86 target specific nodes which are going to be selected during lowering and then directly matched in isel. The commit includes the addition of those specific nodes and a *bunch* of patterns, and incrementally we're going to switch between them and what we have right now. Both the patterns and target specific nodes can change as we move forward with this work. llvm-svn: 111691
-
- Aug 13, 2010
-
-
Dale Johannesen authored
misanalysis and is undesirable. llvm-svn: 111028
-
Bruno Cardoso Lopes authored
llvm-svn: 111021
-
Eric Christopher authored
llvm-svn: 111001
-
- Aug 12, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 110954
-
Bruno Cardoso Lopes authored
- Teach SSEDomainFix to switch between different levels of AVX instructions. Here we guess that AVX will have domain issues, so just implement them for consistency and in the future we remove if it's unnecessary. - Make foldMemoryOperandImpl aware of 256-bit zero vectors folding and support the 128-bit counterparts of AVX too. - Make sure MOV[AU]PS instructions are only selected when SSE1 is enabled, and duplicate the patterns to match AVX. - Add a testcase for a simple 128-bit zero vector creation. llvm-svn: 110946
-
Bruno Cardoso Lopes authored
llvm-svn: 110937
-
Bruno Cardoso Lopes authored
term goal here is to be able to match enough of vector_shuffle and build_vector so all avx intrinsics which aren't mapped to their own built-ins but to shufflevector calls can be codegen'd. This is the first (baby) step, support building zeroed vectors. llvm-svn: 110897
-
- Aug 11, 2010
-
-
Bruno Cardoso Lopes authored
Apply the same approach of SSE4.1 ptest intrinsics but create a new x86 node "testp" since AVX introduces vtest{ps}{pd} instructions which set ZF and CF depending on sign bit AND and ANDN of packed floating-point sources. This is slightly different from what the "ptest" does. Tests comming with the other 256 intrinsics tests. llvm-svn: 110744
-
- Aug 10, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 110650
-
Bruno Cardoso Lopes authored
llvm-svn: 110648
-
Bruno Cardoso Lopes authored
llvm-svn: 110645
-