Stubbed out std.simd and started implementing SSE for GDC
std.simd work in progress...
- std.simd WIP
std.simd work...
Added double2x2 and implemented transpose for float4x4 and double2x2.
Fixed compiler errors when compiling for x86_64.
Added some ARM opcodes, fixes, etc
Merge pull request #1 from jerro/master

Implementation of transpose
Tweaked the matrix stuff
Fixed order of arguments to shufMask in transpose (previously used shufMask had inverse order of arguments compared to the current one).
Merge pull request #2 from jerro/master

Fixed order of arguments to shufMask in transpose
More work on std.simd
Merge branch 'master' of github.com:TurkeyMan/phobos
Fixed std.simd compile errors
Started to work on LDC support

Adding LDC support.

Added LDC support to more functions.

More LDC support.

More LDC support.

Added a shitload of LLVM intrinsic declaration and changed most of version(GNU) to version(GNU_OR_LDC).

More LDC support.

Use ldc.gccbuiltins.

Fixed a few bugs.

Fixed a bug in swizzle in parseElements.

Made toFloat, toInt and toDouble work when the argument and the result have the same type.

Moved std.simd.numElements definition to a separate template, which stops LDC from allocating an array at run time.

Made a few things work with GDC.

Added support for byte, ubyte, short and ushort vectors to GDC version of swizzle

Added void16 to isVector.

Replaced spaces with tabs and removed trailing whitespace

Uncomented safe, pure, @nothrow.
Merge pull request #3 from jerro/std.simd-squashed-commits

Lots of work on LDC support
Replacing shufflevector, extractelement and insertelement with llvm_inline_ir.

Implemented maskEqual and others for all types.

Made more function instances work

Made abs() work with unsigned numbers. I think just returning the
parameter is more useful here than causing an error.

Made abs() work with long2 (using the same implementation as for
byte16).

Made min() and max() work with long2 and ulong2.

Use inline llvm ir in loadUnaligned

Also made the naming of variables inside shufflevector,
insertelement, etc. more consistent.

Use ldc.simd.
Merge pull request #4 from jerro/use-ldc.simd

Made more functions work with ldc
Fixed white space
Fixed white-space.