This CL adds a TargetLoweringX8664 that inherits from TargetX86Base, but other than that it does nothing to generate runnable code. Things that need to be addressed in follow up CLs: 1) lowerCall 2) lowerArguments 3) lowerRet 4) addPrologue 5) addEpilogue 6) Native 64-bit arithmetic 7) 32- to 64-bit addressing (7) will be particularly interesting. Pointers in Pexes are always 32-bit wide, so pexes have a de facto 32-bit address space. In Sandboxed mode that's solved by using RZP (i.e., r15) as a base register. For native codegen, we still need to decide what to do -- very likely we will start targeting X32. NOTE: This CL also s/IceType_ForceRexW/RexTypeForceRexW/g because I forgot to do it in the X8664 assembler cl. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4077 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1257643004.
| Name |
Last commit
|
Last update |
|---|---|---|
| bloat | Loading commit data... | |
| crosstest | Loading commit data... | |
| pydir | Loading commit data... | |
| runtime | Loading commit data... | |
| src | Loading commit data... | |
| tests_lit | Loading commit data... | |
| unittest | Loading commit data... | |
| .dir-locals.el | Loading commit data... | |
| .gitignore | Loading commit data... | |
| ALLOCATION.rst | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| Doxyfile | Loading commit data... | |
| LICENSE.TXT | Loading commit data... | |
| LOWERING.rst | Loading commit data... | |
| Makefile | Loading commit data... | |
| Makefile.standalone | Loading commit data... | |
| OWNERS | Loading commit data... | |
| README.rst | Loading commit data... | |
| codereview.settings | Loading commit data... |