Commit Graph

119 Commits

Author SHA1 Message Date
dzaima
0f3f91105e use anynePositive for squeeze.singeli 2022-11-27 15:45:33 +02:00
dzaima
15f6dd5d48 simplify 16-bit anynePositive 2022-11-27 15:45:33 +02:00
dzaima
5f85305f43 GPR mask testing 2022-11-27 15:45:33 +02:00
dzaima
efd79881cb use single mask array for all type widths 2022-11-27 15:45:33 +02:00
dzaima
cf5ce07f51 simplify singeli xor/and/or definitions 2022-11-24 00:21:19 +02:00
Marshall Lochbaum
7715cbc158 Add •math.Sum with Singeli f64 implementation 2022-11-23 16:51:30 -05:00
Marshall Lochbaum
52608ba6ce Singeli min/max-fold 2022-11-21 11:47:50 -05:00
dzaima
24195780df reorder headers to allow OpenBSD hack to function 2022-11-20 18:22:51 +02:00
Marshall Lochbaum
5985e92834 Initialized min/max-scan 2022-11-17 07:59:00 -05:00
Marshall Lochbaum
1924aee61c f64 min/max scan 2022-11-16 21:14:32 -05:00
Marshall Lochbaum
136c1afacc Macro-ize integer min/max scan and add sorted flag 2022-11-16 20:49:57 -05:00
dzaima
a9737c22ea extract bit array negation to function 2022-11-14 19:47:53 +02:00
dzaima
6467530823 use ty_u 2022-11-08 16:56:43 +02:00
Marshall Lochbaum
666a41ab12 1- and 2-byte Singeli boolean +` 2022-11-07 17:54:11 -05:00
dzaima
c1a77a24fb fast (2⋆n)|ints 2022-11-03 15:35:41 +02:00
dzaima
bed2708537 move non-Singeli comparisons to function lookup 2022-10-27 19:27:15 +03:00
dzaima
8d6172126c use void* instead of u8* for singeli function arguments 2022-10-25 17:27:08 +03:00
dzaima
83af05d274 fix building on gcc≤10 2022-10-10 13:53:56 +03:00
Marshall Lochbaum
ce74e36a19 Fix lots of missing casts for function calls 2022-09-30 20:20:38 -04:00
Marshall Lochbaum
47cdf02877 Build Singeli files with a filename prefix 2022-09-30 11:35:25 -04:00
Marshall Lochbaum
cad566d547 Not-equals scan with carry-less multiply 2022-09-29 20:39:46 -04:00
Marshall Lochbaum
acc200222d Move constant Replicate Singeli code to its own file 2022-09-29 20:33:09 -04:00
Marshall Lochbaum
582afe33c9 Merge 3 to 7 replicate float with other types: shuffle instead of permute 2022-09-29 20:12:45 -04:00
Marshall Lochbaum
29886f355a Combine small-replication shuffle vector tables across types 2022-09-29 19:58:14 -04:00
Marshall Lochbaum
4836f70e0d Simplify rep_const_broadcast, removing unused kv==0 case 2022-09-28 14:14:39 -04:00
Marshall Lochbaum
d28a74b572 Move 4-shuffle data to a table 2022-09-28 13:35:08 -04:00
Marshall Lochbaum
9947de0146 Performance improvements when compiling slash.singeli 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
db3e0a6324 Move all the algorithm decision logic into main rep_const and simplify 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
c430922a7e Use shared functions and shuffle array for sizes 3 to 7 in constant Replicate 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
68aeb0f7cb Add large-constant replicate method always using 4 shuffles 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
7069a60453 Handle all constant Replicate in Singeli 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
7535d768dd Singeli shuffle-based code for constant replicates <=7 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
851f50635e Some simplifications in base.singeli 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
6ed3c18389 Implement SIMD wrapping plus-scan for Replicate 2022-09-21 19:40:04 -04:00
dzaima
2358436b89 more efficient spreadBits{[8]u32, u8} 2022-09-08 21:51:25 +03:00
dzaima
d3a1fee437 singeli bit_sel 2022-09-08 21:39:51 +03:00
dzaima
96ca9092ba attempt at better bit_sel dispatch 2022-09-08 00:37:44 +03:00
dzaima
59e947cc20 more consistent type checking & conversion functions 2022-09-07 23:56:03 +03:00
dzaima
1c279a0a20 fast bitarr×intarr 2022-09-06 22:47:16 +03:00
dzaima
a90e7de997 simpler atom-array arith on length 0 inputs 2022-09-06 18:24:49 +03:00
dzaima
311aa74303 simpler bitsel for ∨ 2022-09-06 17:31:42 +03:00
dzaima
ce1c81219e manual wideness check 2022-09-06 17:23:57 +03:00
dzaima
bffe16d6e9 fix overflowed & float functions 2022-09-05 23:23:51 +03:00
dzaima
c0b2164dc8 new array-atom arith 2022-09-05 22:52:53 +03:00
dzaima
76141f6fe6 reduce lifetime of e in dyArith_AA 2022-09-01 22:45:30 +03:00
dzaima
1b8bd0707e make dyarith array-array dispatch its own function 2022-09-01 22:22:13 +03:00
dzaima
5cfa89ad5a separate functions for comparison scalar & array cases 2022-09-01 15:06:34 +03:00
dzaima
88f73d2585 fix comment & add note 2022-08-31 22:22:03 +03:00
dzaima
ce1032f80d second instruction shouldn't have a swap requirement anymore 2022-08-29 23:09:47 +03:00
dzaima
8ea2352a7b clear out swap table after first instruction generation 2022-08-29 23:08:38 +03:00