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
Matt Pharr
05a5a42a08
Don't force loads/stores from varying types to be unaligned.
...
These should always actually be aligned in memory.
2012-09-14 12:17:33 -07:00
Jean-Luc Duprat
f0b0618484
Added the following mask tests: __any(), __all(), __none() for all supported targets.
...
This allows for more efficient code generation of KNC.
2012-09-14 11:06:18 -07:00
Ingo Wald
4ecdbe4bd9
two changes:
...
- exported structs now get protected with #ifdef/#define blocks (allows including multiple ispc-generated header fiels into the same c source
- when creating offload stubs, encountering a 'export' function for which we cannot produce a stub will only trigger a warning, not an error.
2012-09-08 16:09:04 +02:00
Matt Pharr
9e9f266e52
Add files inadvertently missed in c58d92d46b.
...
Truly fixes issue #363 .
2012-09-07 13:27:07 -07:00
Matt Pharr
0ce67f37ac
Use LLVM_VERSION env variable to get LLVM version with MSVC build.
...
Previously, it was set directly in the ispc.vcxproj file.
Issue #371 .
2012-09-06 06:04:32 -07:00
Matt Pharr
ddcd0a49ec
Fix bugs with handling of 'continue' statements in foreach_* loops.
2012-09-05 10:16:58 -07:00
Matt Pharr
63b8fac852
Improve naming of temporary variable in IR
2012-09-05 10:13:45 -07:00
Matt Pharr
def8d7850b
Fix crasher with malformed programs
2012-09-05 08:43:46 -07:00
Jean-Luc Duprat
0442efc856
Merge branch 'master' of https://github.com/ispc/ispc
2012-09-04 11:00:03 -07:00
Jean-Luc Duprat
f928bbb53c
Updated usage of Initial Many Core Instructions (Intel® IMCI) instructions.
2012-09-04 10:57:25 -07:00