Commit Graph

1401 Commits

Author SHA1 Message Date
jbrodman
71a7564317 Merge pull request #574 from jbrodman/uniftypedef
Fix to respect uniform/varying qualifiers inside of typedefs.
2013-09-03 13:14:00 -07:00
jbrodman
c14b035a46 Merge pull request #572 from ifilippov/master
correction of adding -Werror option
2013-08-30 11:17:01 -07:00
jbrodman
cf2eaa0014 Merge pull request #569 from dbabokin/unmasked
Fix for incorrect implementation of reduce_[min|max]_[float|double]
2013-08-30 11:16:42 -07:00
jbrodman
cb92d54808 Merge pull request #570 from dbabokin/docs
Minor docs fixes.
2013-08-30 11:16:26 -07:00
james.brodman
97d430d5cd Fix to respect uniform/varying qualifiers inside of typedefs. 2013-08-30 14:13:08 -04:00
Ilia Filippov
320b1700ff correction of adding -Werror option 2013-08-30 16:01:01 +04:00
Dmitry Babokin
e06267ef1b Fix for incorrect implementation of reduce_[min|max]_[float|double], it showed up as -O0 2013-08-29 16:16:02 +04:00
Dmitry Babokin
501a23ad20 Typos fixes in docs 2013-08-29 14:48:09 +04:00
Dmitry Babokin
c1cc80b1d5 Merge pull request #568 from jbrodman/master
Fix against LLVM ToT
2013-08-27 14:08:12 -07:00
james.brodman
28080b0c22 Fix build against 3.4 2013-08-27 16:56:00 -04:00
james.brodman
be3a40e70b Fix for 3.4 2013-08-27 15:15:16 -04:00
Dmitry Babokin
5d8ebf3ca1 Fixing r183327-AVX2-GATHER.patch file permissions 2013-08-27 18:27:06 +04:00
Dmitry Babokin
443987f536 fixing ispc.rst file properties (should not be executable) 2013-08-27 15:33:44 +04:00
Dmitry Babokin
f6ce969d9f Merge pull request #567 from ifilippov/master
Changes in perf.py functionality, unification of examples, correction build warnings
2013-08-26 03:26:28 -07:00
Ilia Filippov
f620cdbaa1 Changes in perf.py functionality, unification of examples, correction build warnings 2013-08-26 14:04:59 +04:00
Dmitry Babokin
3f2217646e Merge pull request #562 from mmp/arm
New target naming scheme, new targets (SSE4-i8x16 and SSE4-i16x8), plus some cleanup and improvements.
2013-08-22 08:33:25 -07:00
Matt Pharr
611477e214 Revert change to lEmitVaryingSelect().
Using vector select versus a store and masked load for varying vector
selects seems to give worse code.  This may be related to
http://llvm.org/bugs/show_bug.cgi?id=16941.
2013-08-22 07:50:25 -07:00
Dmitry Babokin
9bb5c314cd Merge pull request #565 from dbabokin/run_tests
run_tests.py fix and new switch.
2013-08-22 01:48:22 -07:00
Dmitry Babokin
f31a31478b Moving time calculation earlier 2013-08-22 12:41:57 +04:00
Dmitry Babokin
5fb30939be Fix for #564, using wrong ispc in run_tests.py 2013-08-21 19:46:18 +04:00
Dmitry Babokin
60b413a9cb Adding --non-interactive switch to run_tests.py 2013-08-21 19:25:30 +04:00
Matt Pharr
502f8fd76b Reduce debug spew on failing idiv.ispc tests 2013-08-20 09:22:09 -07:00
Matt Pharr
2b2905b567 Fix (preexisting) bugs in generic-32/64.h with type of "__any", etc.
This should be a bool, not a one-wide vector of bools.  The equivalent
fix was previously made in generic-16.h, but not made here.  (Note that
many tests are still failing with these targets, but at least they
compile properly now.)
2013-08-20 09:05:50 -07:00
Matt Pharr
e7f067d70c Fix handling of __clock() builtin for "generic" targets. 2013-08-20 09:04:52 -07:00
Matt Pharr
d976da7559 Speed up idiv test (dont test int32 as thoroughly) 2013-08-20 08:49:51 -07:00
Dmitry Babokin
84dbd66d10 Merge pull request #563 from jbrodman/debugopt
Separate -O and -g
2013-08-15 13:10:13 -07:00
james.brodman
6be3c24ee5 Separate -O and -g 2013-08-15 15:24:46 -04:00
Matt Pharr
42f31aed69 Another attempt at fixing the Windows build (added sse4-8/sse4-16 targets). 2013-08-14 11:02:45 -07:00
Matt Pharr
ed017c42f1 Fix ispc.vcxproj for Windows builds 2013-08-11 07:47:20 -07:00
Matt Pharr
4766467271 Revert ispc.vcxproj to version from top-of-tree. 2013-08-10 11:23:39 -07:00
Matt Pharr
ea8591a85a Fix build with LLVM top-of-tree (link libcurses) 2013-08-10 11:22:43 -07:00
Matt Pharr
7ab4c5391c Fix build with LLVM 3.2 and generic-4 / examples/sse4.h target. 2013-08-09 19:56:43 -07:00
Matt Pharr
0c5742b6f8 Implement new naming scheme for --target.
Now targets are named like "<isa>-i<mask size>x<gang size>", e.g.
"sse4-i8x16", or "avx2-i32x16".

The old target names are still supported.
2013-08-08 19:23:44 -07:00
Matt Pharr
1d76f74b16 Fix compiler warnings 2013-08-07 12:53:39 -07:00
Matt Pharr
5e5d42b918 Fix build with LLVM 3.1 2013-08-06 17:55:37 -07:00
Matt Pharr
cd9afe946c Merge branch 'master' into arm
Conflicts:
	Makefile
	builtins.cpp
	ispc.cpp
	ispc.h
	ispc.vcxproj
	opt.cpp
2013-08-06 17:39:21 -07:00
Matt Pharr
1276ea9844 Revert "Remove support for building with LLVM 3.1"
This reverts commit d3c567503b.

Conflicts:
	opt.cpp
2013-08-06 17:00:35 -07:00
jbrodman
0755e4f8ff Merge pull request #561 from dbabokin/neon_condition
Fix for Windows build and making NEON target optional
2013-08-06 13:45:30 -07:00
Matt Pharr
ccdbddd388 Add peephole optimization to match int8/int16 averages.
Match the following patterns in IR, turning them into target-specific
intrinsics (e.g. PAVGB on x86) when possible.

(unsigned int8)(((unsigned int16)a + (unsigned int16)b + 1)/2)
(unsigned int8)(((unsigned int16)a + (unsigned int16)b)/2)
(unsigned int16)(((unsigned int32)a + (unsigned int32)b + 1)/2)
(unsigned int16)(((unsigned int32)a + (unsigned int32)b)/2)
(int8)(((int16)a + (int16)b + 1)/2)
(int8)(((int16)a + (int16)b)/2)
(int16)(((int32)a + (int32)b + 1)/2)
(int16)(((int32)a + (int32)b)/2)
2013-08-06 08:59:46 -07:00
Matt Pharr
5b20b06bd9 Add avg_{up,down}_int{8,16} routines to stdlib
These compute the average of two given values, rounding up and down,
respectively, if the result isn't exact.  When possible, these are
mapped to target-specific intrinsics (PADD[BW] on IA and VH[R]ADD[US]
on NEON.)

A subsequent commit will add pattern-matching to generate calls to
these intrinsincs when the corresponding patterns are detected in the
IR.)
2013-08-06 08:41:12 -07:00
Dmitry Babokin
dff7735af9 Fix for Windows build and making NEON target optional 2013-08-02 19:24:34 -07:00
Dmitry Babokin
fb34fc5a85 Merge pull request #559 from ifilippov/debug_phases
Supporting dumping, switching off and debug printing of optimization phases.
2013-08-01 14:55:07 -07:00
Dmitry Babokin
43423c276f Merge pull request #560 from ifilippov/perf
Supporting perf.py on Mac OS
2013-08-01 13:20:01 -07:00
jbrodman
5ffc3a8f4c Merge pull request #558 from dbabokin/win_examples
Fix for examples to make them work on Windows properly
2013-08-01 08:02:42 -07:00
Ilia Filippov
3c06924a02 Supporting perf.py on Mac OS 2013-08-01 12:47:37 +04:00
Ilia Filippov
a174a90f86 Supporting dumping, switching off and debug printing of optimization phases 2013-08-01 11:37:52 +04:00
Matt Pharr
4f48d3258a Documentation updates for NEON 2013-07-31 20:06:04 -07:00
Matt Pharr
d9c38b5c1f Remove support for using SVML for math lib routines.
This path was poorly maintained and wasn't actually available on most
targets.
2013-07-31 06:56:48 -07:00
Matt Pharr
d3c567503b Remove support for building with LLVM 3.1 2013-07-31 06:46:45 -07:00
Matt Pharr
d7562d3836 Merge branch 'master' into arm 2013-07-31 06:38:17 -07:00