llvm-6502/lib/Target/PowerPC
Nate Begeman d7c4a4a6c0 Necessary changes to codegen cttz efficiently on PowerPC
1. Teach LegalizeDAG how to better legalize CTTZ if the target doesn't have
   CTPOP, but does have CTLZ
2. Teach PPC32 how to do sub x, const -> add x, -const for valid consts
3. Teach PPC32 how to do and (xor a, -1) b -> andc b, a
4. Teach PPC32 that ISD::CTLZ -> PPC::CNTLZW


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21880 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-11 23:43:56 +00:00
..
.cvsignore
LICENSE.TXT
Makefile
PowerPC.td
PowerPCInstrInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PowerPCTargetMachine.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC32.td
PPC32ISelSimple.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
PPC32JITInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC32RegisterInfo.td Initial support for allocation condition registers 2005-04-12 07:04:16 +00:00
PPC64.td
PPC64CodeEmitter.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64InstrInfo.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64InstrInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64ISelPattern.cpp fix typo 2005-05-04 19:25:37 +00:00
PPC64JITInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64RegisterInfo.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
PPC64RegisterInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64RegisterInfo.td
PPC64TargetMachine.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCAsmPrinter.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCBranchSelector.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCCodeEmitter.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCFrameInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrBuilder.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrFormats.td switch over the rest of the formats that use RC to use isDOT 2005-04-19 05:21:30 +00:00
PPCInstrInfo.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrInfo.td switch over the rest of the formats that use RC to use isDOT 2005-04-19 05:21:30 +00:00
PPCISelPattern.cpp Necessary changes to codegen cttz efficiently on PowerPC 2005-05-11 23:43:56 +00:00
PPCJITInfo.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCJITInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCRegisterInfo.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
PPCRegisterInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCRegisterInfo.td
PPCRelocations.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCTargetMachine.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCTargetMachine.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
README.txt Update PPC readme. Remove things that are done or aren't ppc specific 2005-04-11 20:48:57 +00:00

TODO:
* condition register allocation
* gpr0 allocation
* implement do-loop -> bdnz transform
* implement powerpc-64 for darwin
* use stfiwx in float->int
* should hint to the branch select pass that it doesn't need to print the
  second unconditional branch, so we don't end up with things like:
	b .LBBl42__2E_expand_function_8_674	; loopentry.24
	b .LBBl42__2E_expand_function_8_42	; NewDefault
	b .LBBl42__2E_expand_function_8_42	; NewDefault

Currently failing tests that should pass:
* MultiSource
  |- Applications
  |  `- hbd: miscompilation