diff options
| author | Chris Lattner <sabre@nondot.org> | 2008-01-26 20:12:07 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2008-01-26 20:12:07 +0000 | 
| commit | 2dd23b9f3257d115bc1911bcb76af478338bf50b (patch) | |
| tree | 63e9581cfff61e52f23c1fba94bd3ae739ccd01e /llvm/lib | |
| parent | 250789f1bdd6081c8182a0500bbafb7498666efc (diff) | |
| download | bcm5719-llvm-2dd23b9f3257d115bc1911bcb76af478338bf50b.tar.gz bcm5719-llvm-2dd23b9f3257d115bc1911bcb76af478338bf50b.zip | |
Add some notes.
llvm-svn: 46405
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/README-SSE.txt | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/llvm/lib/Target/X86/README-SSE.txt b/llvm/lib/Target/X86/README-SSE.txt index cadfc20bbb1..fe6fa85c86b 100644 --- a/llvm/lib/Target/X86/README-SSE.txt +++ b/llvm/lib/Target/X86/README-SSE.txt @@ -704,3 +704,21 @@ This currently compiles to:  We should use movmskp{s|d} instead. +//===---------------------------------------------------------------------===// + +CodeGen/X86/vec_align.ll tests whether we can turn 4 scalar loads into a single +(aligned) vector load.  This functionality has a couple of problems. + +1. The code to infer alignment from loads of globals is in the X86 backend, +   not the dag combiner.  This is because dagcombine2 needs to be able to see +   through the X86ISD::Wrapper node, which DAGCombine can't really do. +2. The code for turning 4 x load into a single vector load is target  +   independent and should be moved to the dag combiner. +3. The code for turning 4 x load into a vector load can only handle a direct  +   load from a global or a direct load from the stack.  It should be generalized +   to handle any load from P, P+4, P+8, P+12, where P can be anything. +4. The alignment inference code cannot handle loads from globals in non-static +   mode because it doesn't look through the extra dyld stub load.  If you try +   vec_align.ll without -relocation-model=static, you'll see what I mean. + +//===---------------------------------------------------------------------===// | 

