llvm-6502/lib
Nate Begeman ab48be3772 Check in code to scalarize arbitrarily wide packed types for some simple
vector operations (load, add, sub, mul).

This allows us to codegen:
void %foo(<4 x float> * %a) {
entry:
  %tmp1 = load <4 x float> * %a;
  %tmp2 = add <4 x float> %tmp1, %tmp1
  store <4 x float> %tmp2, <4 x float> *%a
  ret void
}

on ppc as:
_foo:
        lfs f0, 12(r3)
        lfs f1, 8(r3)
        lfs f2, 4(r3)
        lfs f3, 0(r3)
        fadds f0, f0, f0
        fadds f1, f1, f1
        fadds f2, f2, f2
        fadds f3, f3, f3
        stfs f0, 12(r3)
        stfs f1, 8(r3)
        stfs f2, 4(r3)
        stfs f3, 0(r3)
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24484 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-22 18:16:00 +00:00
..
Analysis post-dom-frontiers requires proper post-dominance 2005-11-18 07:28:26 +00:00
Archive DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
AsmParser regenerate 2005-11-12 18:22:38 +00:00
Bytecode trivial cleanup 2005-11-12 18:34:09 +00:00
CodeGen Check in code to scalarize arbitrarily wide packed types for some simple 2005-11-22 18:16:00 +00:00
Debugger tell selectiondag when we're debugging 2005-11-16 07:21:47 +00:00
ExecutionEngine Fix a nasty bug that was causing miscompilation of global variables 2005-10-23 23:54:56 +00:00
Linker DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
Support indicate when a tool is a debug build. 2005-11-16 06:36:47 +00:00
System instead of using mstats, use malloc_zone_statistics which returns numbers 2005-11-14 07:27:56 +00:00
Target massive DAGISel patch. lots and lots more stuff compiles now 2005-11-22 04:20:06 +00:00
Transforms Fix a crash building 176.gcc due to my recent patch, which only fixed 2005-11-18 18:30:47 +00:00
VMCore Teach LLVM how to scalarize packed types. Currently, this only works on 2005-11-19 00:36:38 +00:00
Makefile Add the Linker library 2004-11-14 21:54:41 +00:00