aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Zbits.v
Commit message (Collapse)AuthorAgeFilesLines
* [BROKEN] Merge with v3.9 : something broken for __builtin_expect in ↵Cyril SIX2021-06-011-4/+5
| | | | cfrontend/C2C.ml
* Replace `omega` tactic with `lia`Xavier Leroy2020-12-291-133/+133
| | | | | | | | | | | Since Coq 8.12, `omega` is flagged as deprecated and scheduled for removal. Also replace CompCert's homemade tactics `omegaContradiction`, `xomega`, and `xomegaContradiction` with `lia` and `extlia`. Turn back on the deprecation warning for uses of `omega`. Make the proof of `Ctypes.sizeof_pos` more robust to variations in `lia`.
* Simplify two scripts in Zbits (#369)Maxime Dénès2020-09-181-2/+2
| | | | | Previous scripts were relying on the order in which apply's HO unification performs reductions, for a goal that could be solved by reflexivity.
* More lemmas about powers of 2Xavier Leroy2019-08-071-0/+14
|
* Define integer sign extension for zero bitsXavier Leroy2019-08-071-28/+30
| | | | Just ensure sign_ext 0 x = zero. This simplifies some statements and proofs.
* Zbits.v: add bit extraction and bit insertionXavier Leroy2019-08-071-0/+57
|
* More efficient test for powers of twoXavier Leroy2019-05-091-0/+83
| | | | | | The previous implementation used to build the full powers-of-two decomposition of the number. The present implementation recognizes powers of two directly, then takes the log2.
* Move Z definitions out of Integers and into ZbitsXavier Leroy2019-04-261-0/+945
The module Integers.Make contained lots of definitions and theorems about Z integers that were independent of the word size. These definitions and theorems are useful outside Integers.Make, but it felt unnatural to fetch them from modules Int or Int64. This commit moves the word-size-independent definitions and theorems to a new module, lib/Zbits.v, and fixes their uses in the code base.