Permalink
Commits on Jul 13, 2011
  1. Merge https://github.com/ispc/ispc

    Daniel Schubert committed Jul 13, 2011
  2. Fix LLVM 2.9 build.

    Matt Pharr committed Jul 13, 2011
  3. Reflect changes in LLVM's type system.

    Andreas Wendleder committed with Matt Pharr Jul 12, 2011
Commits on Jul 12, 2011
  1. Fix issue #2: use zero extend to convert bool->int, not sign extend.

    This way, we match C/C++ in that casting a bool to an int gives either the value
    zero or the value one.  There is a new stdlib function int sign_extend(bool)
    that does sign extension for cases where that's desired.
    Matt Pharr committed Jul 12, 2011
Commits on Jul 8, 2011
  1. Merge branch 'master' of git://github.com/ispc/ispc

    Daniel Schubert committed Jul 8, 2011
  2. Fix issue #62: emit stdlib code as char array, not a string

    MSVC 2010 issues an error if given a string larger than 64k characters
    long.  To work around this, the pre-processed stdlib.ispc code is now
    stored as an array of characters terminated with a NUL (i.e. the same thing
    in the end); MSVC is fine with arrays larger than 64k characters.
    Matt Pharr committed Jul 8, 2011
  3. Script fixes.

    Indent correctly, don't nag about nonexisting files and add a carriage
    return.
    Andreas Wendleder committed with Matt Pharr Jul 8, 2011
  4. Cmake based LLVM builds don't have svn in their identification.

    Andreas Wendleder committed with Matt Pharr Jul 8, 2011
  5. Fix __load_masked_{32,64} to properly obey the mask. Fixes issue #28.

    Fixed the implementations of these builtin functions for targets that don't have native masked load instructions so that they do no loads if the vector mask is all off, and only do an (unaligned) vector load if both the first and last element of the mask are on.  Otherwise they serialize and do scalar loads for only the active lanes.  This fixes a number of potential sources of crashes due to accessing invalid memory.
    Matt Pharr committed Jul 8, 2011
  6. Merge git://github.com/ispc/ispc

    Daniel Schubert committed Jul 8, 2011
  7. Add support for atomic swap/cmpexchg with float and double types.

    Addresses issue #60.
    Matt Pharr committed with Jul 7, 2011
  8. Finish support for 64-bit types in stdlib. Fixes issue #14.

    Add much more suppport for doubles and in64 types in the standard library, basically supporting everything for them that are supported for floats and int32s.  (The notable exceptions being the approximate rcp() and rsqrt() functions, which don't really have sensible analogs for doubles (or at least not built-in instructions).)
    Matt Pharr committed with Jul 7, 2011
  9. Fix a number of cases in the parser where segfaults were possible wit…

    …h malformed programs.
    Matt Pharr committed with Jul 7, 2011
  10. Add missing "$$=NULL;" in error production in parser.

    This fixes a crash from a malformed program bug.
    Matt Pharr committed with Jul 7, 2011
Commits on Jul 7, 2011
  1. @mmp

    Merge pull request #61 from danschubert/master

    Fixed VC2010 warnings caused by implicit conversion from 'long' to 'char'.
    mmp committed Jul 7, 2011
  2. Fixed VC2010 warnings:

    lex.ll(397): warning C4244: '=' : conversion from 'long' to 'char', possible loss of data
    lex.ll(402): warning C4244: '=' : conversion from 'long' to 'char', possible loss of data
    
    by explicit cast to 'char'.
    
    See: http://msdn.microsoft.com/en-us/library/w4z2wdyc(v=vs.80).aspx
    
    long strtol(
       const char *nptr,
       char **endptr,
       int base 
    );
    committed Jul 7, 2011
  3. Add support for atomic swap/cmpexchg with float and double types.

    Addresses issue #60.
    Matt Pharr committed Jul 7, 2011
  4. @mmp

    Merge pull request #59 from danschubert/patch-1

    Fixed VC2010 warning
    mmp committed Jul 7, 2011
  5. Finish support for 64-bit types in stdlib. Fixes issue #14.

    Add much more suppport for doubles and in64 types in the standard library, basically supporting everything for them that are supported for floats and int32s.  (The notable exceptions being the approximate rcp() and rsqrt() functions, which don't really have sensible analogs for doubles (or at least not built-in instructions).)
    Matt Pharr committed Jul 7, 2011
  6. Fixed VC2010 error message: builtins.cpp(183): warning C4018: '<' : s…

    …igned/unsigned mismatch
    committed Jul 7, 2011
  7. Fix a number of cases in the parser where segfaults were possible wit…

    …h malformed programs.
    Matt Pharr committed Jul 7, 2011
  8. Add missing "$$=NULL;" in error production in parser.

    This fixes a crash from a malformed program bug.
    Matt Pharr committed Jul 7, 2011
Commits on Jul 6, 2011
  1. Always include the passed arg types when printing errors about functi…

    …on overload resolution failing.
    Matt Pharr committed Jul 6, 2011
  2. Set up NULL values for default arguments when creating ispc functions…

    … from LLVM bitcode builtins.
    
    Fixes occasional crashes due to accessing uninitialized memory.
    Matt Pharr committed Jul 6, 2011
  3. Use malloc to allocate storage for task parameters on Windows.

    Fixes bug #55.  A number of tests were crashing on Windows due to the task
    launch code using alloca to allocate space for the tasks' parameters.  On
    Windows, the stack isn't generally big enough for this to be a good idea.
    Also added an alignment parmaeter to ISPCMalloc() to pass the alignment
    requirement along.
    Matt Pharr committed Jul 6, 2011
  4. Add check to make sure file exists before running preprocessor.

    (If the file doesn't exist, clang ends up crashing, so we'd like to
    avoid that.)
    Matt Pharr committed Jul 6, 2011
  5. Fix GetDirectoryAndFileName() on Windows.

    Use the Windows pathname manipulation routines to robustly implement this
    on Windows.  Fixes issue #30.
    Matt Pharr committed Jul 6, 2011
  6. Added a few error productions to the parser.

    A few more productions to recover from parse errors (in function parameter lists and in statement lists).  These eliminate some of the massive cascading error messages from a single parse error that the previous error recovery strategy would sometimes cause.  Fixes issue #44.
    Matt Pharr committed Jul 6, 2011
  7. @petecoup

    Merge from petecoup/shortvec-in-struct branch.

    Fixes issue #49: using short vector types in struct declarations
    would give a bogus parse error.
    petecoup committed with Matt Pharr Jul 6, 2011
  8. Add comment re popcnt on SSE2 target.

    Matt Pharr committed Jul 6, 2011
  9. Fix typos in documentation.

    Matt Pharr committed Jul 6, 2011