Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | __builtin_bswap16, 32 and 64 | Cyril SIX | 2019-09-20 | 1 | -2/+2 |
| | |||||
* | Desactivating CompCert tests taking too long | Cyril SIX | 2019-09-19 | 1 | -1/+3 |
| | |||||
* | Adding some function calls in interop tests | Cyril SIX | 2019-09-19 | 2 | -7/+15 |
| | |||||
* | Adding back "exit 2" to the test target of test/c/Makefile | Cyril SIX | 2019-09-13 | 1 | -2/+2 |
| | |||||
* | Scaling down compression tests | Cyril SIX | 2019-09-13 | 1 | -5/+11 |
| | |||||
* | Reducing further the input size of the tests | Cyril SIX | 2019-09-13 | 30 | -71/+68 |
| | |||||
* | Scaling down most of c/ CompCert tests | Cyril SIX | 2019-09-13 | 18 | -37/+56 |
| | |||||
* | Starting to modify official CompCert tests to be passable with the simu | Cyril SIX | 2019-09-10 | 18 | -89/+81 |
| | |||||
* | Test for compd.geu | Cyril SIX | 2019-09-05 | 1 | -0/+6 |
| | |||||
* | Removing unused .all, .any, .nall and .none conditions | Cyril SIX | 2019-09-05 | 1 | -1/+1 |
| | |||||
* | Adding tests for cmoved | Cyril SIX | 2019-09-05 | 2 | -0/+85 |
| | |||||
* | aclrw test | Cyril SIX | 2019-09-03 | 1 | -0/+12 |
| | |||||
* | Merge remote-tracking branch 'origin/mppa-work-upstream-merge' into mppa-work | Cyril SIX | 2019-09-03 | 10 | -100/+75 |
|\ | | | | | | | | | | | | | Conflicts: configure mppa_k1c/Archi.v mppa_k1c/Asmexpand.ml | ||||
| * | macros for fma() fmaf() | David Monniaux | 2019-08-30 | 1 | -0/+1 |
| | | |||||
| * | fma with first negated operand | David Monniaux | 2019-08-30 | 1 | -0/+1 |
| | | |||||
| * | fma | David Monniaux | 2019-08-30 | 1 | -0/+12 |
| | | |||||
| * | merge upstream including fma fixes | David Monniaux | 2019-08-28 | 3 | -72/+0 |
| | | |||||
| * | Merge branch 'master' of https://github.com/AbsInt/CompCert into ↵ | David Monniaux | 2019-07-19 | 6 | -28/+61 |
| |\ | | | | | | | | | | mppa-work-upstream-merge | ||||
| | * | When testing builtin functions, prevent constant propagation | Xavier Leroy | 2019-07-17 | 4 | -28/+31 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that some builtin functions have known semantics, constant propagation can happen in this test. This defeats the purpose, which is to check that the correct processor instructions are generated. To prevent this constant propagation, we move the initialized variables to global scope. Since they are not "const", their values are not known to the optimizer. | ||||
| | * | Extended asm: print register names according to their types | Xavier Leroy | 2019-06-17 | 1 | -0/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When printing an extended asm code fragment, placeholders %n are replaced by register names. Currently we ignore the fact that some assemblers use different register names depending on the width of the data that resides in the register. For example, x86_64 uses %rax for a 64-bit quantity and %eax for a 32-bit quantity, but CompCert always prints %rax in extended asm statements. This is problematic if we want to use 32-bit integer instructions in extended asm, e.g. int x, y; asm("addl %1, %0", "=r"(x), "r"(y)); produces addl %rax, %rdx which is syntactically incorrect. Another example is ARM FP registers: D0 is a double-precision float, but S0 is a single-precision float. This commit partially solves this issue by taking into account the Cminor type of the asm parameter when printing the corresponding register. Continuing the previous example, int x, y; asm("addl %1, %0", "=r"(x), "r"(y)); now produces addl %eax, %edx This is not perfect yet: we use Cminor types, because this is all we have at hand, and not source C types, hence "char" and "short" parameters are still printed like "int" parameters, which is not good for x86. (I.e. we produce %eax where GCC might have produced %al or %ax.) We'll leave this issue open. | ||||
| | * | Perform constant propagation and strength reduction on conditional moves | Xavier Leroy | 2019-06-17 | 1 | -0/+20 |
| | | | | | | | | | | | | | | | A conditional move whose condition is statically known becomes a regular move. Otherwise, the condition can sometimes be simplified by strength reduction. | ||||
| | * | If-conversion optimization | Xavier Leroy | 2019-06-06 | 3 | -1/+156 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extends the instruction selection pass with an if-conversion optimization: some if/then/else statements are converted into "select" operations, which in turn can be compiled down to branchless instruction sequences if the target architecture supports them. The statements that are converted are of the form if (cond) { x = a1; } else { x = a2; } if (cond) { x = a1; } if (cond) { /*skip*/; } else { x = a2; } where a1, a2 are "safe" expressions, containing no operations that can fail at run-time, such as memory loads or integer divisions. A heuristic in backend/Selectionaux.ml controls when the optimization occurs, depending on command-line flags and the complexity of the "then" and "else" branches. | ||||
* | | | Rajout de clzd dans les tests | Cyril SIX | 2019-08-30 | 1 | -0/+3 |
| | | | |||||
* | | | Added more tests | Cyril SIX | 2019-08-30 | 4 | -27/+56 |
| | | | |||||
* | | | (#157) Removed AFADDD and AFADDW from the builtins | Cyril SIX | 2019-08-30 | 2 | -1/+14 |
| | | | |||||
* | | | Adding tests for addx8d addx8w etc.. | Cyril SIX | 2019-08-30 | 3 | -2/+11 |
| | | | |||||
* | | | Decreasing a bit the number of processes in run_benches | Cyril SIX | 2019-08-30 | 1 | -1/+1 |
| | | | |||||
* | | | Fixed the extraction of instructions from TargetPrinter.ml | Cyril SIX | 2019-08-30 | 2 | -5/+4 |
| | | | |||||
* | | | Updated test/mppa/coverage.sh to check which instruction isn't tested yet | Cyril SIX | 2019-08-29 | 2 | -37/+55 |
| | | | |||||
* | | | Removing submodule test/mppa/asm_coverage from the repository | Cyril SIX | 2019-08-28 | 1 | -0/+0 |
| | | | |||||
* | | | Minor fix for the measurements macros | Cyril SIX | 2019-07-24 | 2 | -4/+5 |
|/ / | |||||
* | | Fixing the generation of verifier_times.txt and oracle_times.txt | Cyril SIX | 2019-07-18 | 2 | -7/+7 |
| | | |||||
* | | (#142) Desactivating scheduling when using -O1 optimization | Cyril SIX | 2019-07-17 | 1 | -1/+1 |
| | | |||||
* | | README file | Cyril SIX | 2019-07-17 | 1 | -60/+67 |
| | | |||||
* | | rules.mk adding more customization | Cyril SIX | 2019-07-17 | 1 | -3/+3 |
| | | |||||
* | | Portage réussi et complet | Cyril SIX | 2019-07-17 | 5 | -14/+14 |
| | | |||||
* | | Removing the genmake.py and the generate_makefiles.sh | Cyril SIX | 2019-07-17 | 2 | -147/+0 |
| | | |||||
* | | All working benches ported | Cyril SIX | 2019-07-17 | 28 | -49/+53 |
| | | |||||
* | | Up to ntt | Cyril SIX | 2019-07-17 | 12 | -15/+20 |
| | | |||||
* | | bitsliced-tea | Cyril SIX | 2019-07-17 | 5 | -24/+11 |
| | | |||||
* | | bitsliced-aes done | Cyril SIX | 2019-07-17 | 4 | -3275/+7 |
| | | |||||
* | | (#141) Started to port the new Makefile to rules.mk. Ported binary_search | Cyril SIX | 2019-07-17 | 3 | -57/+144 |
| | | |||||
* | | Deleting junk files | Cyril SIX | 2019-07-17 | 7 | -1932/+0 |
| | | |||||
* | | (#143) Put in sandbox the example of SHA256 | Cyril SIX | 2019-07-12 | 4 | -0/+677 |
| | | |||||
* | | (#143) More features | Cyril SIX | 2019-07-12 | 2 | -10/+17 |
| | | |||||
* | | (#143) - Regrouping in obj/ asm/ bin/ directories | Cyril SIX | 2019-07-12 | 1 | -5/+9 |
| | | |||||
* | | (#143) much simpler example to measure how our measures affect performance | Cyril SIX | 2019-07-12 | 1 | -0/+18 |
| | | |||||
* | | (#143) intermediate files are not deleted | Cyril SIX | 2019-07-12 | 1 | -0/+2 |
| | | |||||
* | | (#143) Rajout de la macro TIMEINIT | Cyril SIX | 2019-07-12 | 2 | -4/+5 |
| | | |||||
* | | (#143) Mesure de cycles sur sandbox | Cyril SIX | 2019-07-12 | 3 | -4/+42 |
| | |