core.simd - D Programming Language - Digital Mars

D Programming Language 2.0

- Comments
- D
- Search
- Home

Last update Wed Aug 1 09:43:19 2012

# core.simd

Builtin SIMD intrinsics

Source:
core/simd.d

License:
Boost License 1.0.

Authors:
Walter Bright,

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

Copyright Digital Mars 2012. | Page generated by Ddoc.