mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-24 05:23:45 +02:00
d8183bd297
This transformation fires a few dozen times across the testsuite. For example, int test2(int X) { return X ^ 0x0FF00FF0; } Old: _test2: lis r2, 4080 ori r2, r2, 4080 xor r3, r3, r2 blr New: _test2: xoris r3, r3, 4080 xori r3, r3, 4080 blr llvm-svn: 17004 |
||
---|---|---|
.. | ||
LICENSE.TXT | ||
Makefile | ||
Makefile.am | ||
PowerPC.h | ||
PowerPC.td | ||
PowerPCAsmPrinter.cpp | ||
PowerPCBranchSelector.cpp | ||
PowerPCFrameInfo.h | ||
PowerPCInstrBuilder.h | ||
PowerPCInstrFormats.td | ||
PowerPCInstrInfo.h | ||
PowerPCInstrInfo.td | ||
PowerPCJITInfo.h | ||
PowerPCRegisterInfo.h | ||
PowerPCRegisterInfo.td | ||
PowerPCTargetMachine.cpp | ||
PowerPCTargetMachine.h | ||
PPC32.td | ||
PPC32CodeEmitter.cpp | ||
PPC32InstrInfo.cpp | ||
PPC32InstrInfo.h | ||
PPC32ISelSimple.cpp | ||
PPC32JITInfo.h | ||
PPC32RegisterInfo.cpp | ||
PPC32RegisterInfo.h | ||
PPC32RegisterInfo.td | ||
PPC32TargetMachine.h | ||
PPC64.td | ||
PPC64CodeEmitter.cpp | ||
PPC64InstrInfo.cpp | ||
PPC64InstrInfo.h | ||
PPC64ISelSimple.cpp | ||
PPC64JITInfo.h | ||
PPC64RegisterInfo.cpp | ||
PPC64RegisterInfo.h | ||
PPC64RegisterInfo.td | ||
PPC64TargetMachine.h | ||
README.txt |
TODO: * implement not-R0 register GPR class * fix rlwimi generation to be use-and-def * implement scheduling info * implement powerpc-64 for darwin * implement powerpc-64 for aix * 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