core.simd

Builtin SIMD intrinsics

Source:


License:
Boost License 1.0.

Authors:
,

template Vector(T)
Create a vector type.

Parameters:
T = one of double[2], float[4], void[16], byte[16], ubyte[16], short[8], ushort[8], int[4], uint[4], long[2], ulong[2]. For 256 bit vectors, one of double[4], float[8], void[32], byte[32], ubyte[32], short[16], ushort[16], int[8], uint[8], long[4], ulong[4]

alias void16;


alias double2;


alias float4;


alias byte16;


alias ubyte16;


alias short8;


alias ushort8;


alias int4;


alias uint4;


alias long2;


alias ulong2;


alias void32;


alias double4;


alias float8;


alias byte32;


alias ubyte32;


alias short16;


alias ushort16;


alias int8;


alias uint8;


alias long4;


alias ulong4;


enum XMM;
XMM opcodes that conform to the following:

opcode xmm1,xmm2/mem

and do not have side effects (i.e. do not write to memory).

pure nothrow @safe void16 __simd(XMM opcode, void16 op1, void16 op2);
Generate two operand instruction with XMM 128 bit operands.

This is a compiler magic function - it doesn't behave like regular D functions.

Parameters:
opcode any of the XMM opcodes; it must be a compile time constant op1 first operand op2 second operand

Returns:
result of opcode


Page generated by Ddoc. Copyright Digital Mars 2012.