Commit Graph

80 Commits

Author SHA1 Message Date
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