Commits

Doug Gregor committed 9a5c96a8c1c
Introduce basic support for LLVM vectors as builtins. This adds builtin types Builtin.VecNxT, where N is a natural number and T is a builtin type, which map down to the LLVM type <N x T>. Update varous builtins to support vector arguments, e.g., binary operations, comparisons, negation. Add InsertElement and ExtractElement builtins for vectors. On top of these builtins, add Vec4f and Vec4b structs to the standard library, which provide 4xFloat and 4xBool vectors, respectively, with basic support for arithmetic. These are mostly straw men, to be burned down at our leisure. Some issues as yet unresolved: - Comparisons of Vec4f'ss are producing bogus Vec4b's, which I haven't tracked down yet. - We still don't support the shuffle builtin, although it should be easy - More testing! Swift SVN r5820