Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Support for 64-bit architectures: x86 in 64-bit mode | Xavier Leroy | 2016-10-01 | 1 | -8/+41 |
| | | | | | | | | | | | | | | | | | | | This commit enriches the IA32 port so that it supports x86 processors in 64-bit mode as well as in 32-bit mode, depending on the value of Archi.ptr64, which itself is set from the configuration model. To activate x86-64 bit support, configure with "x86_64-linux". Main steps: - Enrich Op.v and Asm.v with 64-bit operations - SelectLong: in 64-bit mode, use 64-bit operations directly; in 32-bit mode, fall back on the old implementation based on pairs of 32-bit integers - Conventions1: support x86-64 ABI in addition to the 32-bit ABI. - Add support for the new 64-bit operations everywhere. - runtime/x86_64: implementation of the supporting library appropriate for x86 in 64-bit mode To do: - More optimizations are possible on 64-bit integer arithmetic operations. - Could add new chunks to load, say, an unsigned byte into a 64-bit long (currently we load as a 32-bit int then zero-extend). - Implements the wrong ABI for struct passing. | ||||
* | Updated PR by removing whitespaces. Bug 17450. | Bernhard Schommer | 2015-10-20 | 1 | -1/+1 |
| | |||||
* | Merge of branch value-analysis. | xleroy | 2013-12-20 | 1 | -6/+17 |
| | | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2381 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e | ||||
* | Recombine x = cmp(...); if (x == 1) ... | xleroy | 2012-07-01 | 1 | -4/+24 |
| | | | | | | | and x = cmp(...); if (x != 1) ... git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1946 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e | ||||
* | Removed Oandimm, etc, cases, because of 2-address constraints... | xleroy | 2012-05-29 | 1 | -15/+0 |
| | | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1904 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e | ||||
* | CSE: add recognition of some combined operators, conditions, and addressing ↵ | xleroy | 2012-05-26 | 1 | -0/+101 |
modes (cf. CombineOp.v) Memory model: cleaning up Memdata Inlining and new Constprop: updated for ARM. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1902 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e |