Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | replacing omega with lia in some file | Léo Gourdin | 2021-03-29 | 1 | -1/+2 |
| | |||||
* | Adding fp stores pair | Léo Gourdin | 2021-01-20 | 1 | -1/+2 |
| | |||||
* | Adding fp loads pair | Léo Gourdin | 2021-01-20 | 1 | -4/+7 |
| | |||||
* | Merge remote-tracking branch 'origin/aarch64-asmblockgenproof' into ↵ | Léo Gourdin | 2020-12-20 | 1 | -0/+18 |
|\ | | | | | | | aarch64-peephole | ||||
| * | Generals lemmas for asmblockgenproof | Léo Gourdin | 2020-12-14 | 1 | -0/+2 |
| | | |||||
| * | Removing the PseudoAsm IR | Léo Gourdin | 2020-12-13 | 1 | -0/+16 |
| | | |||||
* | | Fix the Asmblock/Asm proof | Léo Gourdin | 2020-12-20 | 1 | -2/+2 |
| | | |||||
* | | Big improvment in peephole, changing LDP/STP semantics | Léo Gourdin | 2020-12-10 | 1 | -54/+49 |
|/ | |||||
* | Some cleanup in todos | Léo Gourdin | 2020-12-07 | 1 | -609/+13 |
| | |||||
* | Asmgen proof completely proved with ldp/stp | Léo Gourdin | 2020-12-06 | 1 | -1/+1 |
| | |||||
* | a first working draft on ldp/stp peephole | Léo Gourdin | 2020-12-04 | 1 | -43/+66 |
| | |||||
* | Adding semantics for Pldp | Léo Gourdin | 2020-12-02 | 1 | -37/+67 |
| | | | This commit prepare the backend for a peephole optimization in Asmblock. | ||||
* | Proof of Pfmovimm fine tuned OK, moving float checks in Asm | Léo Gourdin | 2020-11-26 | 1 | -33/+0 |
| | | | Also some simplifications in Asmblockdeps | ||||
* | Fine tuning for Pfmovimm | Léo Gourdin | 2020-11-26 | 1 | -1/+35 |
| | | | | - Functions to check a float logical immediate were translated from ocaml target printer in coq Asmblock - Some proof are admitted for now (we'll see if it is a good idea after some tests) | ||||
* | Main part of postpasssch proof now completed | Léo Gourdin | 2020-11-24 | 1 | -1/+2 |
| | |||||
* | Trying to finish the bisimu reduce proof for builtin (last case admitted) | Léo Gourdin | 2020-11-20 | 1 | -1/+1 |
| | |||||
* | draft of the exec_bblock Asmblockdeps proof | Léo Gourdin | 2020-11-20 | 1 | -5/+15 |
| | |||||
* | fix the semantics ? | Sylvain Boulmé | 2020-11-18 | 1 | -1/+9 |
| | |||||
* | First version of the oracle checker, does not compile yet | Léo Gourdin | 2020-11-09 | 1 | -0/+9 |
| | |||||
* | Smart scheduler build problem and flatten solution OK | Léo Gourdin | 2020-11-04 | 1 | -0/+7 |
| | |||||
* | Some adaptations on PostpassScheduling for aarch64, and defs in Asmblock | Léo Gourdin | 2020-11-02 | 1 | -0/+11 |
| | |||||
* | Preparation for postpass in aarch64 and refactoring | Léo Gourdin | 2020-11-02 | 1 | -0/+1 |
| | |||||
* | aarch64 compiles again (but ccomp generates incorrect assembly) | Sylvain Boulmé | 2020-10-23 | 1 | -528/+5 |
| | |||||
* | Adding buitin_args lemmas | Léo Gourdin | 2020-10-21 | 1 | -4/+7 |
| | | | | There was an issue with the register PC in the eval_BA constructor for builtin : we were not able to prove that the concerned reg was different from PC. This commit modify the definitions in Asmgen and Asmblock to support this, by replacing the parameter with a dreg instead of a preg. | ||||
* | Simplifying Ltac and fixing a bug in AsmBlock semantics | Léo Gourdin | 2020-10-13 | 1 | -1/+1 |
| | | | The bug was a typo on the PArithPPP subl inst | ||||
* | Prove exec_body_dont_move_PC | Justus Fasse | 2020-08-18 | 1 | -32/+39 |
| | | | | | | Modify Asmblock.preg to combine iregsp and freg into dreg (dreg might be a misnomer since not all iregs are data regs) TODO: Adjust names of PArithP, PArithPP and the like | ||||
* | backward decomposition of the proof | Sylvain Boulmé | 2020-07-22 | 1 | -1/+1 |
| | |||||
* | Generate both Pcsel and Pfsel | Justus Fasse | 2020-07-13 | 1 | -1/+1 |
| | | | | | | | In Asmblock, Pcsel is used for both integer and floating-point conditional selection. A previous commit (c764ff84) had incorrectly reverted the merging of Pfsel into Pcsel. | ||||
* | fix size of block in Asmblock | Sylvain Boulmé | 2020-07-10 | 1 | -5/+2 |
| | | | | Due to the fact that, at the Asm level, Plabel runs PC++ | ||||
* | Remove incorrect part of a comment | Justus Fasse | 2020-07-09 | 1 | -2/+1 |
| | |||||
* | Switch back to specific registers for specific (inlined) instruction | Justus Fasse | 2020-07-09 | 1 | -1/+1 |
| | |||||
* | Revert introduction of dreg | Justus Fasse | 2020-07-08 | 1 | -158/+120 |
| | | | | This everts commits 91f991ab and df253300 | ||||
* | Asmblock.dreg: Use option (monad) for dealing with instruction sizes | Justus Fasse | 2020-07-08 | 1 | -39/+62 |
| | | | | | This makes it more clear, and explicit, when we care about the expected register width for an instruction in case an ireg0 will be used. | ||||
* | Regroup ar_instructions by access to "data" registers (dreg) | Justus Fasse | 2020-07-08 | 1 | -113/+128 |
| | | | | | | | | | | | | | | | A dreg is either a floating poing, integer register, SP, or XZR. This way we can combine a few more varaints in ar_instruction. However, now every dreg case has to deal with the complications of ireg0 by giving, for every instruction, the expected integer register width if it were to use an ireg0. Right now instructions that do not care about this, because the instructions in aarch64/Asm do not use an ireg0, return W and simply should not hit the XZR case. Also causes a warning due to ambiguous coercions: ireg coerces to both ireg0 and iregsp, and both of those coerce to dreg. | ||||
* | Inline Pfnmul in ar_instruction | Justus Fasse | 2020-07-07 | 1 | -14/+4 |
| | |||||
* | Inline Pcsel in ar_instruction | Justus Fasse | 2020-07-07 | 1 | -28/+5 |
| | |||||
* | Inline Pfmovi in ar_instruction | Justus Fasse | 2020-07-07 | 1 | -24/+5 |
| | |||||
* | Inline Pcset in ar_instruction | Justus Fasse | 2020-07-07 | 1 | -16/+4 |
| | |||||
* | Remove out-of-date comment | Justus Fasse | 2020-07-07 | 1 | -1/+0 |
| | |||||
* | Remove Pfsel which is currently identical to Pcsel | Justus Fasse | 2020-07-07 | 1 | -3/+1 |
| | | | | (since the grouping instructions by pregs) | ||||
* | Merge PArith(SW|DX)FR0 | Justus Fasse | 2020-07-07 | 1 | -17/+13 |
| | |||||
* | Merge PArith(W|X)RR0 and PArith(W|X)ARRRR0 | Justus Fasse | 2020-07-07 | 1 | -47/+30 |
| | |||||
* | introduce if_opt_bool_val. | Sylvain Boulmé | 2020-07-06 | 1 | -7/+12 |
| | |||||
* | intermediate comparison function on arit_comparison_* | Sylvain Boulmé | 2020-07-06 | 1 | -11/+17 |
| | |||||
* | merging arith_comparison_w_r0r and arith_comparison_x_r0r into ↵ | Sylvain Boulmé | 2020-07-06 | 1 | -28/+20 |
| | | | | arith_comparison_r0r | ||||
* | unifying arith_w_rr0r and arith_x_rr0r into arith_rr0r | Sylvain Boulmé | 2020-07-06 | 1 | -51/+42 |
| | |||||
* | aarch64/Asmblock: Move Pmovk to arith_pp | Justus Fasse | 2020-07-06 | 1 | -5/+5 |
| | |||||
* | aarch64/Asmblock: Change PArithAFFF to PArithPPP for consistency | Justus Fasse | 2020-07-06 | 1 | -16/+17 |
| | |||||
* | aarch64/Asmblock: Merge PArithCRRR and PArithCFFF | Justus Fasse | 2020-07-06 | 1 | -23/+12 |
| | |||||
* | aarch64/Asmblock: Merge PArithRRR, PArithRspRspR and PArithFFF | Justus Fasse | 2020-07-06 | 1 | -41/+22 |
| |