Commit Graph

  • 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