1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/lib/Target/XCore
Richard Osborne 0d65748f8f Expand unaligned 32 bit loads from an address which is a constant
offset from a 32 bit aligned base as follows:

  ldw low, base[offset >> 2]
  ldw high, base[(offset >> 2) + 1]
  shr low_shifted, low, (offset & 0x3) * 8
  shl high_shifted, high, 32 - (offset & 0x3) * 8
  or result, low_shifted, high_shifted

Expand 32 bit loads / stores with 16 bit alignment into two 16 bit
loads / stores.

llvm-svn: 75902
2009-07-16 10:42:35 +00:00
..
TargetInfo Add TargetInfo libraries for all targets. 2009-07-15 06:35:19 +00:00
CMakeLists.txt
Makefile Add TargetInfo libraries for all targets. 2009-07-15 06:35:19 +00:00
README.txt
XCore.h Register AsmPrinter for XCore, MSP430, and PIC16 targets. 2009-07-15 23:17:20 +00:00
XCore.td Move target independent td files from lib/Target/ to include/llvm/Target so they can be distributed along with the header files. 2008-11-24 07:34:46 +00:00
XCoreAsmPrinter.cpp Register AsmPrinter for XCore, MSP430, and PIC16 targets. 2009-07-15 23:17:20 +00:00
XCoreCallingConv.td
XCoreFrameInfo.cpp
XCoreFrameInfo.h
XCoreInstrFormats.td
XCoreInstrInfo.cpp llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. 2009-07-14 16:55:14 +00:00
XCoreInstrInfo.h Untabification. 2009-05-30 01:09:53 +00:00
XCoreInstrInfo.td Fix pattern for LD16S_3r, add basic tests to check load / store instructions 2009-07-15 17:06:59 +00:00
XCoreISelDAGToDAG.cpp Move EVER MORE stuff over to LLVMContext. 2009-07-14 23:09:55 +00:00
XCoreISelLowering.cpp Expand unaligned 32 bit loads from an address which is a constant 2009-07-16 10:42:35 +00:00
XCoreISelLowering.h Custom lower unaligned 32 bit stores and loads into libcalls. This is 2009-07-16 10:21:18 +00:00
XCoreMachineFunctionInfo.h Add explicit keywords. 2009-06-05 23:05:51 +00:00
XCoreRegisterInfo.cpp llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. 2009-07-14 16:55:14 +00:00
XCoreRegisterInfo.h Remove refs to non-DebugLoc version of BuildMI from XCore, PIC16. 2009-02-13 02:29:03 +00:00
XCoreRegisterInfo.td
XCoreSubtarget.cpp
XCoreSubtarget.h Propagate CPU string out of SubtargetFeatures 2009-05-23 19:50:50 +00:00
XCoreTargetAsmInfo.cpp Move up dwarf writer initialization in common AsmPrinter class. 2009-06-19 21:54:26 +00:00
XCoreTargetAsmInfo.h
XCoreTargetMachine.cpp Kill off <TARGET>MachineModule variables, and <TARGETASMPRINTER>ForceLink 2009-07-16 01:55:13 +00:00
XCoreTargetMachine.h Lift addAssemblyEmitter into LLVMTargetMachine. 2009-07-15 23:34:19 +00:00

To-do
-----

* Instruction encodings
* Tailcalls
* Investigate loop alignment
* Add builtins
* Make better use of lmul / macc