forked from p12tic/libsimdpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
33 lines (31 loc) · 1.86 KB
/
ChangeLog
File metadata and controls
33 lines (31 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
What's new in v2.0~rc1:
* Expression template-based backend
* Support scalar arguments to certain functions
* Support for vectors much longer than the native vector type. The only
limitation is that the length must be a power of 2.
* Operator overloads are provided that fully mimic free functions.
* New functions: store_masked, store_u, shuffle4x2, shuffle2x2, test_bits_any.
* PowerPC Altivec, NEONv2 support. More compilers are now supported.
* API break: The built-in dispatcher has been rewritten to generate hard
link-time dependencies on the versioned functions. It is no longer
susceptible in lazy static variable initialization breaking function
registration. User must supply the list of generated architectures via
predefined macro values. See examples/dispatcher for an example.
* API break: SIMDPP_USER_ARCH_INFO now accepts any expression, not only a
function
* API break: int128 and int256 types have been removed. On some archs it's more
efficient to have different physical representations for vectors with
different element widths.
* API break: 'broadcast' family of functions have been renamed to 'splat'
* API break: 'permute' family of functions has been renamed to 'permute2' and
'permute4' depending on the number of template arguments taken.
* API break: value conversion functions such as to_float32x4 have been renamed
and now returns a vector with the same number of elements as the source
vector.
* API break: certain functions return "empty" expressions instead of vectors
* API break: saturated add and sub are now called add_sat and sub_sat
* API break: the zero() and ones() member functions of the vector types have
been removed.
* API break: the functions in the sse:: and neon:: namespaces have been
replaced with equivalent functions within the main simdpp namespace
* Various other enhancements.