llvm-6502/include/llvm
Nate Begeman 8cfa57b1b4 Teach the SelectionDAG ISel how to turn ConstantPacked values into
constant nodes with vector types.  Also teach the asm printer how to print
ConstantPacked constant pool entries.  This allows us to generate altivec
code such as the following, which adds a vector constantto a packed float.

LCPI1_0:  <4 x float> < float 0.0e+0, float 0.0e+0, float 0.0e+0, float 1.0e+0 >
        .space  4
        .space  4
        .space  4
        .long   1065353216      ; float 1
        .text
        .align  4
        .globl  _foo
_foo:
        lis r2, ha16(LCPI1_0)
        la r2, lo16(LCPI1_0)(r2)
        li r4, 0
        lvx v0, r4, r2
        lvx v1, r4, r3
        vaddfp v0, v1, v0
        stvx v0, r4, r3
        blr

For the llvm code:

void %foo(<4 x float> * %a) {
entry:
  %tmp1 = load <4 x float> * %a;
  %tmp2 = add <4 x float> %tmp1, < float 0.0, float 0.0, float 0.0, float 1.0 >
  store <4 x float> %tmp2, <4 x float> *%a
  ret void
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24616 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-06 06:18:55 +00:00
..
ADT Fix comment. 2005-10-26 15:02:21 +00:00
Analysis Add a simple clear() method 2005-11-30 19:31:23 +00:00
Assembly Give the asmparser the ability to parse strings, patch contributed by 2005-05-20 03:25:29 +00:00
Bytecode minor cleanup 2005-11-30 05:26:03 +00:00
CodeGen Teach the SelectionDAG ISel how to turn ConstantPacked values into 2005-12-06 06:18:55 +00:00
Config add malloc_zone_statistics, remove mstats 2005-11-14 07:24:17 +00:00
Debugger Remove trailing whitespace 2005-04-21 20:39:54 +00:00
ExecutionEngine For PR540: 2005-07-12 15:51:55 +00:00
Support Allow per-character control over what target assemblers allow in symbol 2005-11-10 21:39:12 +00:00
System For PR616: 2005-08-24 10:07:20 +00:00
Target Support multiple ValueTypes per RegisterClass, needed for upcoming vector 2005-12-01 04:51:06 +00:00
Transforms Added documented rsprofiler interface. Also remove new profiler passes, the 2005-11-28 18:00:38 +00:00
AbstractTypeUser.h remove a dead method 2005-11-12 08:42:30 +00:00
Argument.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
BasicBlock.h Remove some dead argument names which irritates GCC at certain warning levels. 2005-10-25 17:59:28 +00:00
CallGraphSCCPass.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
CallingConv.h New file 2005-05-06 19:59:08 +00:00
Constant.h Remove some dead argument names which irritates GCC at certain warning levels. 2005-10-25 17:59:28 +00:00
Constants.h Change the signature of replaceUsesOfWithOnConstant to take a Use* and not 2005-10-04 18:12:13 +00:00
DerivedTypes.h Shrink derived types by 8 bytes each by not having to have 2 vtables pointers 2005-11-13 03:26:12 +00:00
Function.h Add a missing Module::setTargetTriple method. 2005-10-25 17:58:00 +00:00
GlobalValue.h Add support for putting globals in a particular section 2005-11-12 00:09:49 +00:00
GlobalVariable.h Change the signature of replaceUsesOfWithOnConstant to take a Use* and not 2005-10-04 18:12:13 +00:00
InstrTypes.h allow these to take a generic Value* 2005-04-24 07:28:04 +00:00
Instruction.def improve comments 2005-06-24 18:17:33 +00:00
Instruction.h Remove some dead argument names which irritates GCC at certain warning levels. 2005-10-25 17:59:28 +00:00
Instructions.h add an accessor 2005-11-05 21:58:30 +00:00
IntrinsicInst.h Convert tabs to spaces 2005-04-22 03:18:56 +00:00
Intrinsics.h Add support for a cycle counter intrinsic. As basically all processors have 2005-11-11 16:45:18 +00:00
Linker.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
Module.h Add a flag to Module::getGlobalVariable to allow it to return vars with 2005-12-05 05:30:21 +00:00
ModuleProvider.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
Pass.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
PassAnalysisSupport.h Older compilers won't like the inline virtual destructor in the header file 2005-04-25 01:01:35 +00:00
PassManager.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
PassSupport.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
SymbolTable.h Some cleanups for compilation with GCC 4.0.0 to remove warnings: 2005-05-15 16:13:11 +00:00
SymbolTableListTraits.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
Type.h Shrink derived types by 8 bytes each by not having to have 2 vtables pointers 2005-11-13 03:26:12 +00:00
Use.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
User.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
Value.h remove a comma to compile with pedantic gcc 2005-10-08 01:24:19 +00:00