llvm-6502/include/llvm/CodeGen
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
..
AsmPrinter.h Add a new flag 2005-11-21 23:06:08 +00:00
ELFWriter.h Add two helper methods, adjust a prototype 2005-07-16 17:40:34 +00:00
InstrScheduling.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
IntrinsicLowering.h add a flag 2005-11-16 07:21:15 +00:00
LiveInterval.h add a new method 2005-10-20 07:37:59 +00:00
LiveIntervalAnalysis.h add missing prototype 2005-10-21 15:49:28 +00:00
LiveVariables.h Fix a problem Duraid noticed, where we weren't removing values from the kills 2005-08-25 05:45:31 +00:00
MachineBasicBlock.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineCodeEmitter.h new is not a valid default anywhere, so make this pure virtual 2005-07-28 18:13:59 +00:00
MachineConstantPool.h add a helper method 2005-07-11 04:49:33 +00:00
MachineFrameInfo.h Change a comment slightly 2005-11-06 17:40:18 +00:00
MachineFunction.h remove an inappropriate comment 2005-08-31 22:49:51 +00:00
MachineFunctionPass.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineInstr.h Mark these as V9 specific 2005-08-01 20:38:31 +00:00
MachineInstrBuilder.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineRelocation.h Eliminate tabs and trailing spaces. 2005-07-27 05:53:44 +00:00
Passes.h Remove a prototype 2005-10-24 04:13:21 +00:00
SchedGraphCommon.h Convert tabs to spaces 2005-04-22 03:46:24 +00:00
SelectionDAG.h Add two new construction methods, patch by Evan Cheng 2005-11-19 01:42:10 +00:00
SelectionDAGISel.h add a method 2005-08-18 18:44:33 +00:00
SelectionDAGNodes.h Check in code to scalarize arbitrarily wide packed types for some simple 2005-11-22 18:16:00 +00:00
SSARegMap.h add an assertion 2005-01-05 16:27:34 +00:00
ValueSet.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
ValueTypes.h Teach the type lowering code about turning packed types into vector types. 2005-11-17 21:44:42 +00:00