This website requires JavaScript.
96a6e75b71
Fix issues with LLVM 3.0 and 3.1 build in cbackend.cpp
Matt Pharr
2012-06-28 12:11:27 -07:00
a91e4e7981
Fix missing ;s from 66d4c2ddd9
Matt Pharr
2012-06-28 12:04:58 -07:00
95d8f76ec3
Added prelimary support for Intel's Xeon Phi KNC processor.
Jean-Luc Duprat
2012-06-28 12:00:55 -07:00
66d4c2ddd9
When the --emit-c++ option is used, the state of the --opt=fast-math option is passed into the generated C++ code.
Jean-Luc Duprat
2012-06-28 11:17:11 -07:00
8115ca739a
Added prelimary support for Intel's Xeon Phi KNC processor. float, int32 and double support is included; int8, int16 and int64 not supported yet. This is work in progress and not considered stable yet.
Jean-Luc Duprat
2012-06-28 10:54:09 -07:00
ec4021bbf4
When the --emit-c++ option is used, the state of the --opt=fast-math option is passed into the generated C++ code.
Jean-Luc Duprat
2012-06-28 10:42:29 -07:00
e431b07e04
Changed the C API to use templates to indicate memory alignment to the C compiler
Jean-Luc Duprat
2012-06-28 09:29:15 -07:00
d34a87404d
Provide (undocumented for now) __pause() call to emit PAUSE inst.
Matt Pharr
2012-06-28 09:25:51 -07:00
f38770bf2a
Fix build with LLVM ToT
Matt Pharr
2012-06-28 07:36:10 -07:00
dc9998ccaf
Missed a few minor fixes to generic-64.h in previous commit
Jean-Luc Duprat
2012-06-27 17:14:03 -07:00
f1b3703389
Changed the C API to use templates to indicate memory alignment to the C compiler This should help with performance of the generated code. Updated the relevant header files (sse4.h, generic-16.h, generic-32.h, generic-64.h)
Jean-Luc Duprat
2012-06-27 16:59:26 -07:00
b6a8d0ee7f
Merge branch 'master' of git://github.com/ispc/ispc
Jean-Luc Duprat
2012-06-27 10:15:24 -07:00
2a4dff38d0
cbackend.cpp now makes explicit use of the llvm namespace
Jean-Luc Duprat
2012-06-27 08:30:30 -07:00
665c564dcf
cbackend.cpp now makes explicit use of the llvm namespace, rather than implicitly with a using declaration. This will allow for some further changes to ISPC's C backend, without collision with ISPC's namespace. This change aims to have no effect on the code generated by the compiler, it should be a big no-op; except for its side-effects on maintainability.
Jean-Luc Duprat
2012-06-26 22:15:31 -07:00
ed71413e04
Merge branch 'master' of git://github.com/ispc/ispc
Jean-Luc Duprat
2012-06-26 14:32:27 -07:00
4b5e49b00b
Merge branch 'master' of github.com:jduprat/ispc
Jean-Luc Duprat
2012-06-26 14:32:01 -07:00
f558ee788e
Fix bug with generating implicit zero initializer values.
Matt Pharr
2012-06-26 11:58:16 -07:00
ceb8ca680c
Fix crash in codegen for assert() with malformed program.
Matt Pharr
2012-06-26 11:54:55 -07:00
79ebcbec4b
Fix crash in SwitchStmt::TypeCheck() with malformed programs.
Matt Pharr
2012-06-26 11:21:33 -07:00
2c7b650240
Add FAQ to explain how to launch per-instance tasks with foreach_active and unmasked.
Matt Pharr
2012-06-22 14:32:05 -07:00
54459255d4
Add unmasked { } statement.
Matt Pharr
2012-06-22 14:30:58 -07:00
b4a078e2f6
Add foreach_active iteration statement.
Matt Pharr
2012-06-22 10:35:43 -07:00
ed13dd066b
Distinguish between 'regular' foreach and foreach_unique in FunctionEmitContext
Matt Pharr
2012-06-22 06:04:00 -07:00
2b4a3b22bf
Issue an error if the user has nested foreach statements.
Matt Pharr
2012-06-21 16:53:27 -07:00
8b891da628
Allow referring to the struct type being defined in its members.
Matt Pharr
2012-06-21 16:44:04 -07:00
5a2c8342eb
Allow structs with no members.
Matt Pharr
2012-06-21 16:07:31 -07:00
50eb4bf53a
Change print() implementation to accumulate string locally before printing.
Matt Pharr
2012-06-21 14:41:53 -07:00
3c10ddd46a
Fix declaration of size_t.
Matt Pharr
2012-06-21 14:40:24 -07:00
0b7f9acc70
Align <16 x i1> vectors to just 16 bits for generic targets.
Matt Pharr
2012-06-21 10:25:33 -07:00
10fbaec247
Fix C++ output for unordered fp compares.
Matt Pharr
2012-06-21 09:57:19 -07:00
007a734595
Add support for 'unmasked' function qualifier.
Matt Pharr
2012-06-20 15:36:00 -07:00
46716aada3
Switch to unordered floating point compares.
Matt Pharr
2012-06-20 13:24:09 -07:00
3bc66136b2
Add foreach_unique iteration construct.
Matt Pharr
2012-06-20 10:03:44 -07:00
fae47e0dfc
Update stdlib to not use "in" as a variable name.
Matt Pharr
2012-06-20 10:04:08 -07:00
bd52e86486
Issue error on attempt to derefernce void pointer types.
Matt Pharr
2012-06-18 19:51:19 -07:00
b2f6ed7209
Fix usage of CastType
Matt Pharr
2012-06-18 16:26:31 -07:00
4b334fd2e2
Fix linkage for programIndex et al. when not debugging.
Matt Pharr
2012-06-15 11:50:16 -07:00
a23a7006e3
Don't issue error incorrectly with forward decl. of exported function.
Matt Pharr
2012-06-15 10:54:50 -07:00
f47171a17c
Don't check for "all off" mask at function entry.
Matt Pharr
2012-06-15 10:14:39 -07:00
4945dc3682
Add contributors link to docs HTML templates
Matt Pharr
2012-06-13 06:11:02 -07:00
ada66b5313
Make more attempts to pull out constant offsets for gather/scatter.
Matt Pharr
2012-06-12 16:21:14 -07:00
96450e17a3
Do all memory op improvements in a single optimization pass.
Matt Pharr
2012-06-12 13:56:17 -07:00
40a295e951
Fix bug where "avx-x2" target would cause AVX1.1 to be used.
Matt Pharr
2012-06-12 13:37:38 -07:00
d6c6f95373
Do all replacements of __pseudo* memory ops in a single optimization pass.
Matt Pharr
2012-06-12 13:05:03 -07:00
19b46be20d
Remove load_and_broadcast from built-ins.
Matt Pharr
2012-06-12 12:30:57 -07:00
789e04ce90
Add support for host/device stub functions for offload.
Ingo Wald
2012-06-12 10:23:49 -07:00
dd4f0a600b
Update AVX1.1 targets to not include declarations of half/float routines in bit code.
Matt Pharr
2012-06-08 15:57:36 -07:00
6c7df4cb6b
Add initial support for "avx1.1" targets for Ivy Bridge.
Matt Pharr
2012-06-08 15:55:00 -07:00
79e0a9f32a
Fix codegen bug with foreach_tiled.
Matt Pharr
2012-06-08 14:56:18 -07:00
6c9bc63a1c
Improve SourcePos reporting of the origin of the gather for gather warnings.
Matt Pharr
2012-06-08 13:33:11 -07:00
28a821df7d
Improve wording of gather/scatter performance warnings.
Matt Pharr
2012-06-08 13:32:57 -07:00
27e39954d6
Fix a number of issues in examples/intrinsics/sse4.h.
Matt Pharr
2012-06-08 12:52:36 -07:00
e730a5364b
Issue error if any complex assignment operator is used with a struct type.
Matt Pharr
2012-06-08 11:29:02 -07:00
92b3ae41dd
Don't print request to file bug on fatal error twice.
Matt Pharr
2012-06-08 11:23:45 -07:00
89a2566e01
Add separate variants of memory built-ins for floats and doubles.
Matt Pharr
2012-06-07 14:29:17 -07:00
1ac3e03171
Gather/scatter function improvements in builtins.
Matt Pharr
2012-06-07 14:18:06 -07:00
b86d40091a
Improve naming of masked load/store instructions in builtins.
Matt Pharr
2012-06-07 13:51:08 -07:00
91d22d150f
Update load_and_broadcast built-in
Matt Pharr
2012-06-07 13:30:49 -07:00
1d29991268
Indentation fixes in builtins/
Matt Pharr
2012-06-07 13:23:07 -07:00
6f0a2686dc
Use %a format for printf() for float constants on non-Windows platforms.
Matt Pharr
2012-06-07 13:20:03 -07:00
f06caabb07
Generate better code for break statements in varying loops (sometimes).
Matt Pharr
2012-06-06 11:04:09 -07:00
3c869802fb
Always store multiply-used vector compares in temporary variables (C++ output).
Matt Pharr
2012-06-06 10:03:03 -07:00
7b6bd90903
Remove various equality checks between GetInternalMask() and LLVMMaskAllOn
Matt Pharr
2012-06-06 10:02:04 -07:00
967bfa9c92
Silence compiler warning.
Matt Pharr
2012-06-06 08:08:55 -07:00
592affb984
Add experimental (and undocumented for now) export syntax.
Matt Pharr
2012-06-05 12:51:21 -07:00
96aaf6d53b
Fix build with LLVM top of tree.
Matt Pharr
2012-06-05 12:28:05 -07:00
1397dbdabc
Don't generate colorized output escapes when stderr isn't a TTY.
Matt Pharr
2012-06-04 09:20:57 -07:00
6118643232
Handle more error cases if the user tries to declare a method.
Matt Pharr
2012-06-04 09:07:13 -07:00
71198a0b54
Don't indent too much in errors/warnings if the filename is long.
Matt Pharr
2012-06-04 08:53:43 -07:00
22cb80399f
Issue error if user tries to declare a method.
Matt Pharr
2012-06-04 08:50:13 -07:00
fa1fd8a576
Merged Upstream
Jean-Luc Duprat
2012-06-01 11:13:16 -07:00
6df7d31a5b
Fix incorrect assertion.
Matt Pharr
2012-05-30 16:34:59 -07:00
ef049e92ef
Handle undefined struct types when generating headers.
Matt Pharr
2012-05-30 16:28:21 -07:00
fe8b109ca5
Fix more tests for 32 and 64-wide execution.
Matt Pharr
2012-05-30 13:06:07 -07:00
8fd9b84a80
Update seed_rng() in stdlib to take a varying seed.
Matt Pharr
2012-05-30 10:35:41 -07:00
5cb53f52c3
Fix various tests/[frs]* files to be correct with 32 and 64-wide targets.
Matt Pharr
2012-05-30 10:31:12 -07:00
d86653668e
Fix a number of tests to work correctly with 32/64-wide targets.
Matt Pharr
2012-05-29 10:16:43 -07:00
5084712a15
Fix bugs in examples/intrinsics/generic-64.h
Matt Pharr
2012-05-29 08:31:10 -07:00
ece65cab18
Fix some tests for up to 64-wide gangs
Jean-Luc Duprat
2012-05-29 07:51:48 -07:00
1f6075506c
Fix linux build (Jean-Luc Duprat)
Matt Pharr
2012-05-28 19:45:16 -07:00
51ade48e3d
Fix some of the reduce-* tests for 32 and 64-wide targets
Matt Pharr
2012-05-25 14:47:06 -07:00
21c43737fe
Fix bug in examples/intrinsics/generic-32.h
Matt Pharr
2012-05-25 14:27:30 -07:00
6c7bcf00e7
Add examples/intrinsics/generic-64.h.
Matt Pharr
2012-05-25 14:27:19 -07:00
7a2142075c
Add examples/intrinsics/generic-32.h implementation.
Matt Pharr
2012-05-25 12:37:59 -07:00
e8e9baa417
Update test_static.cpp to handle up to 64-wide
Matt Pharr
2012-05-25 12:14:58 -07:00
449d956966
Add support for generic-64 target.
Matt Pharr
2012-05-25 11:50:39 -07:00
90db01d038
Represent MOVMSK'ed masks with int64s rather than int32s.
Matt Pharr
2012-05-25 11:48:08 -07:00
38cea6dc71
Issue error if "typedef" is inadvertently included in function definition.
Matt Pharr
2012-05-25 11:09:08 -07:00
64807dfb3b
Add AssertPos() macro that provides rough source location in error
Matt Pharr
2012-05-25 10:59:45 -07:00
d943455e10
Issue error on overloaded "export"ed functions.
Matt Pharr
2012-05-25 10:28:01 -07:00
fd03ba7586
Export reference parameters as C++ references, not pointers.
Matt Pharr
2012-05-24 07:12:48 -07:00
2c5a57e386
Fix bugs related to varying pointers to functions that return void.
Matt Pharr
2012-05-23 14:29:17 -07:00
e8858150cb
Allow redundant semicolons at global scope. (Ingo Wald)
Matt Pharr
2012-05-23 14:20:20 -07:00
333f901187
Fix build with LLVM 3.2 dev top-of-tree
Matt Pharr
2012-05-23 14:19:50 -07:00
7dd4d6c75e
Update for LLVM 3.2dev API change
Matt Pharr
2012-05-22 15:53:14 -07:00
99f57cfda6
Issue more sensible error message for varying pointers in exported functions.
Matt Pharr
2012-05-18 12:00:11 -07:00
4d1eb94dfd
Fix bug in AddElementOffset() error checking.
Matt Pharr
2012-05-18 11:57:05 -07:00
22d584f302
Don't issue perf. warnings for various conversions with generic target.
Matt Pharr
2012-05-18 11:56:11 -07:00
72c41f104e
Fix various malformed program crashes.
Matt Pharr
2012-05-18 10:44:45 -07:00
8d3ac3ac1e
Fix build with LLVM ToT
Matt Pharr
2012-05-18 10:09:09 -07:00