Jean-Luc Duprat
6827001c1d
Merge pull request #406 from pengtu/master
...
Fix ISPC with LLVM TOT build problem
2012-11-22 09:27:10 -08:00
Peng Tu
16b0806d40
Fix LLVM TOT build issue.
2012-11-21 19:09:10 -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
a267762f59
Merge pull request #404 from mmp/master
...
Fix build with LLVM top-of-tree
2012-11-21 10:37:40 -08:00
Jean-Luc Duprat
65ca795030
Merge pull request #405 from jbrodman/master
...
Tweaked Scalar Repl of Aggregates Optimization
2012-11-19 13:12:26 -08:00
Matt Pharr
e82b649ec0
Fix build with LLVM top-of-tree (various changes to clang entrypoints).
2012-11-16 11:04:11 -08:00
james.brodman
275cdb1713
Merge branch 'master' of https://github.com/ispc/ispc
2012-11-14 13:30:45 -05:00
Jean-Luc Duprat
d3b86dcc90
KNC: fix implementation of __all() to use KNCni mask test instructions...
2012-11-14 09:24:01 -08:00
james.brodman
c736b75075
Merge branch 'master' of https://github.com/ispc/ispc
2012-11-13 17:08:09 -05: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
ptu1
32d44a5b9e
Merge branch 'master' of ssh://fmygit6001.fm.intel.com:29418/ssg_dpd_tpi_ispc-ispc_git
2012-11-13 12:47:13 -08:00
ptu1
810784da1f
Set the ScalarReplAggregate maximum structure size based on target vector width.
2012-11-13 12:35:45 -08:00
james.brodman
d517b37f3f
Merge branch 'master' of https://github.com/ispc/ispc
2012-11-09 10:14:18 -05:00
Jean-Luc Duprat
adeef0af01
Merge pull request #403 from jbrodman/master
...
Fixed =/== error for KNC intrinsic implementation of __all()
2012-11-08 13:57:42 -08:00
james.brodman
97ddc1ed10
Fixed =/== error in __all()
2012-11-08 16:30:12 -05:00
james.brodman
bf580648a1
Merge branch 'master' of https://github.com/ispc/ispc
2012-11-06 12:03:27 -05:00
Jean-Luc Duprat
ecc54fa0eb
Merge pull request #402 from pengtu/master
...
Fix a bug where an unsigned index variable in subscript is sxt to 64 bit
2012-11-05 21:51:38 -08:00
Peng Tu
04d32ae3e6
Inside LLVM, both signed and unsigned integer are represented with the same type - i32 - effectively a signed int32. On 64 bit target, we must generate explicit sxt/zxt during the LLVM IR creation to promote the array index into 64 bit. Otherwise, an unsigned int index becomes signed int index in the LLVM IR.
...
I limit the fix to uniformed index to avoid widening a varying index vector to 64 bits. This means that the 32 bit values in the varying indices must be positive and smaller than 2^31 at the runtime for a program to behave correctly.
2012-11-05 15:02:15 -08:00
james.brodman
a18b3ae88e
Merge branch 'master' of https://github.com/ispc/ispc
2012-10-31 15:25:41 -04:00
james.brodman
e57801a5d1
Typo Fix
2012-10-31 15:25:26 -04:00
ingowald
da4390aede
Merge pull request #401 from pengtu/master
...
Fix a "continue" handling bug in foreach_unique/foreach_active
2012-10-30 01:46:01 -07:00
Peng Tu
9e85667219
Merge remote branch 'upstream/master'
2012-10-29 22:51:22 -07:00
Peng Tu
b80867d473
Move the call to RestoreContinuedLanes from bbBody to the correct place of bbCheckForMore for foreach_unique and foreach_active.
2012-10-29 17:27:11 -07:00
Jean-Luc Duprat
d742dcce59
Merge pull request #400 from jbrodman/master
...
Fixes a compile error in examples/intrinsics/sse4.h. Assignment was used instead of equality comparison.
2012-10-26 14:08:56 -07:00
james.brodman
7a7af3d5f9
Merge branch 'master' of https://github.com/jbrodman/ispc
2012-10-26 16:55:53 -04:00
jbrodman
e323b1d0ad
Fixed compile error: == instead of =
2012-10-26 16:55:28 -04:00
james.brodman
3c18c7a713
Fixed compile error: == instead of =
2012-10-26 16:52:54 -04:00
james.brodman
7c16292cb7
Merge branch 'master' of https://github.com/ispc/ispc
2012-10-24 13:49:04 -04:00
Gerrit Code Review
d665e2e85b
Initial empty repository
2012-10-24 09:53:29 -07:00
Matt Pharr
172a189c6f
Fix build with LLVM top-of-tree
2012-10-17 11:11:50 -07:00
Matt Pharr
406fbab40e
Fix bugs in declarations of __any, __all, and __none in examples/intrinsics.
...
They return bool, not vector of bool.
2012-10-17 10:55:50 -07:00
Matt Pharr
09dc217f8c
Fix hex constant in lParseInteger() (missing an f)
2012-10-16 06:03:33 -07:00
Matt Pharr
9002837750
Remove incorrect assert in tasksys.cpp
2012-10-15 10:43:46 -07:00
Matt Pharr
411d5b44ef
Add ISPC_HAS_RAND definition on targets that have a HW RNG.
...
This lets us check for a functioning rdrand() call in the stdlib
more reliably. Fixes issue #333 .
2012-10-03 09:18:12 -07:00
Matt Pharr
360cc8044e
Improve RNG documentation.
...
Issue #390 .
2012-10-03 08:33:43 -07:00
Matt Pharr
ec2e9b5e79
Fix typo in assert() documentation.
...
Issue #388 .
2012-10-03 08:26:38 -07:00
Matt Pharr
881dba61e4
Fix build with LLVM top-of-tree
2012-09-28 06:07:01 -07:00
Matt Pharr
6412876f64
Remove unused __reduce_add_uint{32,64} target functions.
...
The stdilb code just calls the signed int{32,64} functions,
which gives the right result for the unsigned case anyway.
The various targets didn't consistently define the unsigned
variants in any case.
2012-09-28 05:55:41 -07:00
Matt Pharr
538d51cbfe
Add GMRES example
2012-09-20 14:06:55 -07:00
Jean-Luc Duprat
3dd9ff3d84
knc.h:
...
Properly pick up on ISPC_FORCE_ALIGNED_MEMORY when --opt=force-aligned-memory is used
Fixed usage of loadunpack and packstore to use proper memory offset
Fixed implementation of __masked_load_*() __masked_store_*() incorrectly (un)packing the lanes loaded
Cleaned up usage of _mm512_undefined_*(), it is now mostly confined to constructor
Minor cleanups
knc2x.h
Fixed usage of loadunpack and packstore to use proper memory offset
Fixed implementation of __masked_load_*() __masked_store_*() incorrectly (un)packing the lanes loaded
Properly pick up on ISPC_FORCE_ALIGNED_MEMORY when --opt=force-aligned-memory is used
__any() and __none() speedups.
Cleaned up usage of _mm512_undefined_*(), it is now mostly confined to constructor
2012-09-19 17:11:04 -07:00
Ingo Wald
7f386923b0
Merge branch 'master' of https://github.com/ispc/ispc
2012-09-17 15:54:25 +02:00
Ingo Wald
d2312b1fbd
now using the ASSUME_ALIGNED flag in knc.h
2012-09-17 15:54:00 +02:00
Ingo Wald
6655373ac3
commit test
2012-09-17 15:51:37 +02:00
Ingo Wald
d492af7bc0
64-bit gather/scatter, aligned load/store, i8 support
2012-09-17 03:39:02 +02:00
Matt Pharr
230a7b7374
Fix bug with floating-point constant zero vectors.
...
Issue #377 .
2012-09-14 14:24:51 -07:00
Jean-Luc Duprat
4204a752f7
Merge branch 'master' of https://github.com/ispc/ispc
2012-09-14 14:12:49 -07:00
Jean-Luc Duprat
0e88d5f97f
Fixed unaligned masked stores on KNC
2012-09-14 14:11:41 -07:00
Matt Pharr
a13e7f2435
#define ISPC_FORCE_ALIGNED_MEMORY, if appropriate, in C++ output.
2012-09-14 13:53:12 -07:00
Matt Pharr
be2108260e
Add --opt=force-aligned-memory option.
...
This forces all vector loads/stores to be done assuming that the given
pointer is aligned to the vector size, thus allowing the use of sometimes
more-efficient instructions. (If it isn't the case that the memory is
aligned, the program will fail!).
2012-09-14 13:49:45 -07:00
Matt Pharr
59b0a2b208
Mark __any(), __all(), and __none() as internal after they're linked in.
...
This fixes multiple symbol definition errors when compiling a single binary
for multiple ISA targets.
2012-09-14 13:32:42 -07:00