9052d4b10b
Linux build fixes
Matt Pharr
2011-09-17 13:42:46 -07:00
2405dae8e6
Use malloc() to get space for task arguments when compiling to AVX.
Matt Pharr
2011-09-17 13:36:38 -07:00
3607f3e045
Remove support for building with LLVM 2.8. Fixes issue #66.
Matt Pharr
2011-09-17 13:18:59 -07:00
de84acfa5d
On OSX with LLVM 2.9, always generate position-independent code.
Matt Pharr
2011-09-17 13:03:23 -07:00
a501ab1aa6
Fix parenthesization bugs in cost estimates.
Matt Pharr
2011-09-16 17:40:05 -07:00
cdc850f98c
Inline some functions in examples
Matt Pharr
2011-09-16 17:02:21 -07:00
ca87579f23
Add a very simple cost model to estimate runtime cost of running code.
Matt Pharr
2011-09-16 15:09:17 -07:00
38fc13d1ab
Remove now unused function.
Matt Pharr
2011-09-16 14:21:13 -07:00
cf9d9f717e
Logic simplification to 'mixed true/false' case for coherent ifs.
Matt Pharr
2011-09-16 14:10:55 -07:00
173632f446
Generate more efficient for regular varying 'if' statements.
Matt Pharr
2011-09-16 12:03:42 -07:00
1dedd88132
Improve implementaton of 'are both masks equal' check for AVX.
Matt Pharr
2011-09-15 06:25:02 -07:00
0848c2cc19
Actually make all 'if' statements check for 'all off' mask.
Matt Pharr
2011-09-13 19:48:04 -07:00
e2a88d491f
Mark the internal __fast_masked_vload function as static
Matt Pharr
2011-09-13 15:43:41 -07:00
30f9dcd4f5
Unroll loops by default, add --opt=disable-loop-unroll to disable.
Matt Pharr
2011-09-13 15:36:34 -07:00
0c344b6755
Fix Linux build of mandelbrot_tasks example
Matt Pharr
2011-09-13 15:17:30 -07:00
6734021520
Issue warning when compile-time constant out-of-bounds array index is used.
Matt Pharr
2011-09-13 14:42:20 -07:00
dd153d3c5c
Handle more instruction types when flattening offset vectors.
Matt Pharr
2011-09-13 09:43:56 -07:00
9ca7541d52
Remove check for any program instances running before function calls.
Matt Pharr
2011-09-13 06:26:16 -07:00
0c20483853
Make all "if" statements "coherent" ifs. Workaround for issue #74.
Matt Pharr
2011-09-12 16:07:08 -07:00
9d4ff1bc06
Fix alignment in usage message
Matt Pharr
2011-09-12 15:06:41 -07:00
83f22f1939
Add experimental --fast-masked-vload flag for SSE.
Matt Pharr
2011-09-12 12:29:33 -07:00
6375ed9224
AVX: Fix bug with misdeclaration of blend intrinsic.
Matt Pharr
2011-09-12 06:42:38 -07:00
cf23cf9ef4
Fix typo in user guide. Issue #96
Matt Pharr
2011-09-12 05:24:32 -07:00
1147b53dcd
Add #define with target vector width in emitted headers
Matt Pharr
2011-09-09 09:33:38 -07:00
4cf831a651
When --fast-math is enabled, tell LLVM about it, too.
Matt Pharr
2011-09-09 09:32:59 -07:00
785d8a29d3
Run mem2reg pass even when doing -O0 compiles
Matt Pharr
2011-09-09 09:24:34 -07:00
46d2bad231
Fix malformed program crash
Matt Pharr
2011-09-09 09:24:13 -07:00
32da8e11b4
Fix crash with varying global vector types when emitting header file.
Matt Pharr
2011-09-09 09:16:59 -07:00
5dedb6f836
Add --scale command line argument to mandelbrot and rt examples.
Matt Pharr
2011-09-07 20:07:51 -07:00
2ea6d249d5
Fix mapping to 8, 16 program instances in AO bench example.
Matt Pharr
2011-09-07 11:34:24 -07:00
c86128e8ee
AVX: go back to using blend (vs. masked store) when possible.
Matt Pharr
2011-09-07 11:26:49 -07:00
375f1cb8e8
Make octaves and octaves loop uniform in noise example
Matt Pharr
2011-09-07 10:34:23 -07:00
3ca7b6b078
Remove MCJIT stuff from ispc_test (fix Linux build)
Matt Pharr
2011-09-07 09:44:27 -07:00
effe901890
Add task-parallel version of aobench
Matt Pharr
2011-09-07 05:43:21 -07:00
4f451bd041
More AVX fixes
Matt Pharr
2011-09-06 15:53:11 -07:00
c76ef7b174
Add command-line option to specify position-independent codegen
Matt Pharr
2011-09-06 11:12:43 -07:00
743d82e935
Various documentation updates.
Matt Pharr
2011-09-06 09:51:02 -07:00
18546e9c6d
Add option to disable optimizations to test running script
Matt Pharr
2011-09-04 18:09:00 -07:00
f24ab16b91
Release notes, doxygen update for 1.0.7 release.
v1.0.7
Matt Pharr
2011-09-03 07:33:39 -07:00
766b34683c
Fix Windows build
Matt Pharr
2011-09-03 07:23:03 -07:00
b5bfa43e92
Fix error with float suffixes
Matt Pharr
2011-09-02 13:09:25 -07:00
99221f7d17
Fix a few places in examples where C reference implementaion had a double-precision fp constant undesirably causing computation to be done in double precision.
Matt Pharr
2011-09-01 16:31:22 -07:00
eb7913f1dd
AVX: fix alignment when changing masked load to regular load.
Matt Pharr
2011-09-01 15:45:49 -07:00
08cad7a665
AVX bugfixes
Matt Pharr
2011-09-01 14:23:10 -07:00
9cd92facbd
Fix test: was incorrectly failing for 8-wide targets
Matt Pharr
2011-09-01 05:03:49 -07:00
85063f493c
Revert attempt to be clever about which LLVM libraries to link in--just link all of them. (This was causing build problems for some folks.)
Matt Pharr
2011-09-01 05:02:44 -07:00
f65a20c700
AVX bugfix: when replacing 'all on' masked store with a store, the rvalue is operand 2, not operand 1 (which is the mask!)
Matt Pharr
2011-08-31 18:06:29 -07:00
e144724979
Improve performance of global atomics, taking advantage of associativity.
Matt Pharr
2011-08-31 05:35:01 -07:00
96a297c747
Small improvements to help output
Matt Pharr
2011-08-30 11:19:32 -07:00
67e00b97c6
Fix incorrect assertions in ConstExpr constructors
Matt Pharr
2011-08-30 11:08:53 -07:00
a94cabc692
Modify stencil example to do separate runs with and without task parallelism.
Matt Pharr
2011-08-30 05:08:21 -07:00
ad9e66650d
AVX bugfix with alignment for store instructions.
Matt Pharr
2011-08-29 16:58:48 -07:00
6de494cfdb
Fix AVX bug introduced in 4ab982bc16
Matt Pharr
2011-08-29 16:50:59 -07:00
58e34ba4ae
Add new test-driver script, run_tests.py.
Matt Pharr
2011-08-29 14:15:09 -07:00
33feeffe5d
Update timing header so it works with C code
Matt Pharr
2011-08-29 11:23:43 -07:00
d0db46aac5
Use logical shift right op for shifts of unsigned ints. Fixes issue #88.
Matt Pharr
2011-08-29 10:32:26 -07:00
da76396c75
Fix typo in SSE2 attributes string.
Matt Pharr
2011-08-27 08:59:25 -07:00
bbf3fb6307
Disable popcnt on SSE4 targets--should only enable if system CPU supports it
Matt Pharr
2011-08-26 16:18:28 -07:00
4ab982bc16
Various AVX fixes (found by inspection).
Matt Pharr
2011-08-26 12:58:02 -07:00
34301e09f5
Fix incorrect comment in builtins definitions files.
Matt Pharr
2011-08-26 10:44:46 -07:00
84e586e767
Commit correct atomics tests
Matt Pharr
2011-08-26 10:43:30 -07:00
72a2f5d2f4
Make SSE2 __popcnt_int64 return i64 to be consistent with other targets
Matt Pharr
2011-08-26 10:37:57 -07:00
606cbab0d4
Performance improvements for global min/max atomics. Issue #57.
Matt Pharr
2011-08-26 10:35:24 -07:00
54ec56c81d
Clean up and centralize LLVM target initialization
Matt Pharr
2011-08-26 10:15:33 -07:00
a322398c62
When emitting header files, put 'extern' declarations of globals used in ispc code outside of the ispc namespace. Fixes issue #64.
Matt Pharr
2011-08-26 10:03:06 -07:00
f22b3a25bd
Update command-line processing and usage string now that we have a preprocessor on Windows.
Matt Pharr
2011-08-26 09:58:08 -07:00
b67498766e
Big rewrite / improvement of target handling.
Matt Pharr
2011-08-26 09:54:45 -07:00
c340ff3893
Fixes to build with LLVM ToT
Matt Pharr
2011-08-25 08:53:56 +01:00
b0f59777d4
Silly bug: don't pass NULL to the print() stmt when we want a llvm::Value * that has the value NULL.
Matt Pharr
2011-08-25 07:48:13 +01:00
e14208f489
Update to call DIBuilder::finalize() with LLVM 3.0
Matt Pharr
2011-08-24 22:28:20 +01:00
7756265503
Add double-pumped AVX target (i.e., run 16-wide). Not yet tested.
Matt Pharr
2011-08-20 11:28:22 +01:00
f841b775c3
Small bugfixes in AVX builtins
Matt Pharr
2011-08-20 09:09:55 +01:00
8c921544a0
fix broken test
Matt Pharr
2011-08-18 20:40:50 +01:00
fe54f1ad8e
Fixes to build with latest LLVM ToT
Matt Pharr
2011-08-18 08:34:49 +01:00