Vsevolod Livinskiy
9a8782d122
Fix for load/store i16
2014-10-30 18:37:38 +04:00
Anton Mitrokhin
8b34fb853e
Commented out the faulty functions. Our code generator does not provide the necessary alligning to use them.
2014-10-21 15:42:14 +04:00
Anton Mitrokhin
09b8f65246
changed the names of 'reduce' functions (ixx -> intxx) to match the names generated by code generator
2014-10-21 15:26:07 +04:00
Anton Mitrokhin
3d71932ca6
knc.h: added [] overloads to type defenitions
2014-10-16 12:57:55 +04:00
Dmitry Babokin
3f24c8dedc
KNC prefetch:
...
- make L3 prefetch to hit L2$, instead of being nop.
- fix vector prefetch to use single intrinsic, instead of two (this is
caused by bug in Composer 14.0 documentation).
2014-10-14 20:24:16 +04:00
Anton Mitrokhin
7ac8a9ea04
changed vec16_i1 type definition in knc.h from typedef to struct
2014-10-14 18:52:03 +04:00
James Brodman
3aa2cce504
Fix warnings in knc.h with appropriate casting
2014-10-08 17:21:36 -07:00
Dmitry Babokin
b8a9139f8e
Merge pull request #864 from Vsevolod-Livinskij/opt_prefetch
...
Optimized prefetch
2014-10-02 17:16:51 +04:00
Vsevolod Livinskiy
eb61d5df72
Support for cache 2/3 and all targets
2014-10-02 16:25:23 +04:00
Vsevolod Livinskiy
0a6eb61ad0
Extend gather-scatter optimization with prefetch optimization
2014-10-02 15:21:43 +04:00
Anton Mitrokhin
700fe244e7
removed debug macros
2014-10-02 13:08:47 +04:00
Anton Mitrokhin
c934a68bc4
changed 'const int' to 'const int8_t' in '__vec16_i8' constructor
2014-10-02 13:00:55 +04:00
Anton Mitrokhin
8295df5a1e
fixed header in 'knc.h'
2014-09-25 22:54:29 +04:00
Anton Mitrokhin
4560df284b
changed codestyle to 2 spaces in 'knc.h'
2014-09-25 21:29:49 +04:00
Anton Mitrokhin
832aff5d76
commented out '__vec16_i1' type as there is no '__cast_uitofp' which produces compfails
2014-09-25 21:29:49 +04:00
Anton Mitrokhin
46bd353027
fixed 'INT_MIN' bug in '__gather64_i64'
2014-09-25 21:29:49 +04:00
Anton Mitrokhin
1a2979aa7f
start fixing gather/scatter functions (INT_MIN fix)
2014-09-25 21:29:49 +04:00
Anton Mitrokhin
8b8e313dc6
starded work on gather/scatter instructions
2014-09-25 21:29:48 +04:00
Anton Mitrokhin
0881463d69
changed '__vec16_i1 __equal_i64(const __vec16_i64 &a, const __vec16_i6_i64 &b, __vec16_i1 mask)' function
2014-09-25 21:29:48 +04:00
Anton Mitrokhin
2e92989101
changed '__vec16_i64 __load(const __vec16_i64 *p)'
2014-09-25 21:29:48 +04:00
Anton Mitrokhin
1d69b954bd
added several memory functions for i8
2014-09-25 21:29:48 +04:00
Anton Mitrokhin
90843b3bff
changed a constructor of '__vec16_i8'
2014-09-25 21:29:48 +04:00
Anton Mitrokhin
78a7ef9fc5
added several math functions, new runfails: gather-int8-2/4; ldexp-double (previously compfailed)
2014-09-25 21:29:47 +04:00
Anton Mitrokhin
efa0ea01f3
add 'void __masked_store_i64(void *p, const __vec16_i64 &v, __vec16_i1 mask)' function. now 450 compfails and 12 runfails
2014-09-25 21:29:47 +04:00
Anton Mitrokhin
ddf5df6193
made 'int64_t __extract_element(const __vec16_i64 &v, uint32_t index)' function
2014-09-25 21:29:47 +04:00
Anton Mitrokhin
4fff0ab571
added __vec16_i32 __cast_trunc(__vec16_i32, const __vec16_i64 i64) function. ptr-diff-3/5/6 tests are apparently runfailing because of it
2014-09-25 21:29:47 +04:00
Anton Mitrokhin
85b703981d
added several helper functions
2014-09-25 21:29:46 +04:00
Anton Mitrokhin
45114d3283
No actual code change: changed the code style for '__vec16_i8' struct in 'knc.h'
2014-09-25 21:29:46 +04:00
Anton Mitrokhin
723baca4c2
added several useful defines and a warning that '__vec16_i1' might not be working with embree
2014-09-25 21:29:46 +04:00
Vsevolod Livinskiy
0a5b16dbe6
some minor fixes for knc.h
2014-09-25 21:29:46 +04:00
Vsevolod Livinskiy
57f29e5035
Fix to support icc v.15 beta
2014-08-26 15:20:10 +04:00
Anton Mitrokhin
bd8d02527b
removed ugly INT32_MIN define (included limits.h) and updated the copyright
2014-08-15 16:18:29 +04:00
Anton Mitrokhin
7adacf5a7b
64 bit gather/scatter fix for knc.h
2014-08-15 16:04:31 +04:00
jbrodman
fbb34b3f3a
Merge pull request #747 from dbabokin/knc_extract_element
...
Knc.h fix
2014-02-27 10:51:17 -08:00
Dmitry Babokin
f0a7baf340
Remove conflicting __extract_element(__vec16_i64 ..., ...)
2014-02-22 01:10:55 +04:00
evghenii
8490efe0ad
fix for knc.h. Due to a bug in ICC (tested with 13.1.3 & 14.0.1) ,the resulting .cpp file fails to compile
2014-02-07 16:00:21 +01:00
evghenii
438cee4e21
added support for double precision/native transendentals/trigonometry
2014-02-07 15:43:42 +01:00
evghenii
c59cff396d
added {rsqrt,rcp}d support for knc.h. test-147.ispc & test-148.ispc pass.
2014-02-05 13:55:38 +01:00
Evghenii
eb01ffd4e6
first commit for {rsqrt,rcp}d knc support. going to test on other node now
2014-02-05 13:43:07 +01:00
james.brodman
9f933b500b
Add missing __cast_sext(__vec16_i32,__vec16_i1)
2013-12-20 16:45:27 -05:00
Ilia Filippov
15816eb07e
adding __packed_store_active2 to generic targets
2013-12-19 17:50:18 +04:00
Matt Pharr
e7f067d70c
Fix handling of __clock() builtin for "generic" targets.
2013-08-20 09:04:52 -07:00
Matt Pharr
b6df447b55
Add reduce_add() for int8 and int16 types.
...
This maps to specialized instructions (e.g. PSADBW) when available.
2013-07-25 09:46:01 -07:00
james.brodman
6211966c55
Change mask to use __mmask16 instead of a struct.
2013-05-30 16:04:44 -04:00
james.brodman
7b2eaf63af
knc.h cleanup
2013-05-10 13:36:18 -04:00
james.brodman
52dcbf087a
Implemented 3 more intrinsics on double precision vectors
2013-03-28 11:55:53 -04:00
Jean-Luc Duprat
24087ff3cc
Expose none() in the ISPC standard library.
...
On KNC: all(), any() and none() do not generate a redundant movmsk instruction.
2012-11-27 13:38:28 -08:00
Jean-Luc Duprat
2129b1e27d
knc.h: Fixed __rsqrt_varying_float() to use _mm512_invsqrt_ps() instead of _mm512_invsqrt_pd()
...
This was a typo.
2012-11-21 15:40:35 -08:00
Jean-Luc Duprat
d3b86dcc90
KNC: fix implementation of __all() to use KNCni mask test instructions...
2012-11-14 09:24:01 -08:00
Jean-Luc Duprat
b601331362
Approximation for inverse sqrt and reciprocal provided in fast math mode.
...
RCP was actually slow in fast math mode
Inverse sqrt did not expose fast approximation
2012-11-13 14:01:35 -08:00