Commit graph

102 commits

Author SHA1 Message Date
windy
e79b096229 Fix build for x86 2021-08-02 20:29:03 +08:00
Peter Meerwald-Stadler
74134a8f56 Use C++-style include cstdint 2021-02-10 23:20:09 +01:00
moepus
9cc1a5cc25 support operator umultiply and multiply 2020-11-03 15:23:28 +08:00
Can Bölük
070693bd73 Minor changes. 2020-07-31 02:54:17 +02:00
Can Bölük
74e8ecb61e Implented bit_enum, fixed fill(0). 2020-07-24 05:49:18 +02:00
Can Bölük
fa4ca51eef Implemented pick_(c)random. 2020-07-23 03:14:59 +02:00
Can Bölük
2446ba572a Implemented assigned-form operators. 2020-07-22 04:10:22 +02:00
Can Bölük
1699b9b15f Just making the compiler happier. 2020-07-20 00:53:09 +02:00
Can Bölük
48c0302795 Fixing for clang. 2020-07-20 00:43:48 +02:00
Can Bölük
10447a448c More constexpr. 2020-07-18 22:32:27 +02:00
Can Bölük
c4af6f5f5c Do not include concepts. 2020-07-17 09:13:12 +02:00
Can Bölük
db79b29547 Better type safety and compile time calculation offloading. 2020-07-17 09:02:49 +02:00
Can Bölük
a7025e35ff Initial implementation of concepts. 2020-07-17 06:30:48 +02:00
Can Bölük
2a15400d94 Fixed a bug on SHR resizing, implemented lambda filters. 2020-07-14 07:23:33 +02:00
Can Bölük
ddeadf1fcb Implemented a fixed-array buffer & bitmap based fast path allocator. 2020-07-11 02:09:38 +02:00
Can Bölük
714ae5bbba Allow non-tagged operables, set default count = 1 for allocator. 2020-07-10 04:46:43 +02:00
Can Bölük
392e02d973 Fixing license headers yet once again. 2020-07-09 02:43:51 +02:00
Can Bölük
614309aa11 Fixing license. 2020-07-06 21:41:04 +02:00
Can Bölük
37f31e7307 Adjust operator costs to prioritize MBA elimination. 2020-06-30 01:19:19 +02:00
Can Bölük
54ebdb0e9d math::bitvector is now constexpr. 2020-06-28 01:14:48 +02:00
Can Bölük
28a2956a78 xop_result can now be overriden, converted math::operable to constexpr. 2020-06-28 01:14:30 +02:00
Can Bölük
d6b40dfce2 Adjust complex arithmetic op cost. 2020-06-25 06:18:40 +02:00
Can Bölük
ce7f2d683b Enabled fast fp, replaced hardcodded cost with proper operator cost. 2020-06-25 05:05:44 +02:00
Can Bölük
6ce89514d0 Use intrinsics for bitwise logic where possible. 2020-06-25 03:05:35 +02:00
Can Bölük
73af4d3bd5 Improved fast matcher and partial evaluation. 2020-06-25 02:34:07 +02:00
Can Bölük
daf62e05e7 Fixed POPCNT. 2020-06-24 00:40:56 +02:00
Can Bölük
d032444a6b Implemented bitscan. 2020-06-23 04:55:03 +02:00
Can Bölük
26c79e1c91 Removed unnecessary namespace usage. 2020-06-22 03:49:17 +02:00
Can Bölük
142d4c3f84 Fixed single operand partial evaluation. 2020-06-22 01:29:23 +02:00
Can Bölük
b61b19bfd0 Further narrow cast fixes, implemented dassert. 2020-06-21 00:07:48 +02:00
Can Bölük
d203c6ebd3 ::access_size and ::to_string now work with bitcnt, added safe narrowing 2020-06-21 00:04:03 +02:00
Can Bölük
80c20db2c9 Fixed commutativeness of some operators. 2020-06-17 08:05:23 +02:00
Can Bölük
8706def4bb Added safe guards against div by zero, other minor changes. 2020-06-15 09:03:37 +02:00
Can Bölük
4e91897b41 Fixed a typo in result size logic. 2020-05-28 15:49:42 +02:00
Can Bölük
25fc36adcb Added explicit cast to bool @ assert, removed size rounding logic. 2020-05-28 05:25:00 +02:00
Can Bölük
dcdd853e60 Fixed non-partial evaluation of casting. 2020-05-28 04:45:22 +02:00
Can Bölük
fbda8ccf13 Implemented preference to smaller constants (MSB+PCNT vs PCNT). 2020-05-27 14:46:51 +02:00
Can Bölük
567406b7c2 Added reduction as macro instead. 2020-05-23 06:36:51 +02:00
Can Bölük
0960c668c6 Replaced the Cpp20 patch of reducable with a macro. 2020-05-23 06:22:16 +02:00
Can Bölük
25af119473 Added validity checks on evaluate_partial. 2020-05-22 23:40:12 +02:00
Can Bölük
ff8e180dd4 Declared reduction for bit_vector. 2020-05-20 23:24:15 +02:00
Can Bölük
08bc0305c5 Commented out potentially invalid directives, added further sign hints. 2020-05-20 14:19:00 +02:00
Can Bölük
664d0c36f3 Added automatic comparison sign deduction and unsigned eq/neq. 2020-05-20 12:56:54 +02:00
Can Bölük
c20efc8166 Implemented unsigned eq/neq and auto conversion into signed. 2020-05-19 18:52:36 +02:00
Can Bölük
d48172ac42 Fixed partial negation. 2020-05-19 18:52:25 +02:00
Can Bölük
e895da9197 Added further comparison simplification. 2020-05-19 08:29:17 +02:00
Can Bölük
bf708fb273 Implemented movsx, test instructions and popcnt. 2020-05-19 05:22:14 +02:00
Can Bölük
23cf27f629 Merge branch 'master' into optimizer 2020-05-16 03:56:48 +02:00
Can Bölük
8acde30c18 Fixed overflow in bitvector construction and thus Issue #9. 2020-05-16 03:56:30 +02:00
Can Bölük
5723fdbe93 Furher fixes to math::fill. 2020-05-12 07:32:36 +02:00