The OpenD Programming Language

core.simd

Builtin SIMD intrinsics

Members

Enums

XMM
enum XMM

XMM opcodes that conform to the following:

Functions

__simd
void16 __simd(XMM opcode, void16 op1, void16 op2)

Generate two operand instruction with XMM 128 bit operands.

__simd
void16 __simd(XMM opcode, void16 op1)

Unary SIMD instructions.

__simd
void16 __simd(XMM opcode, void16 op1, void16 op2, ubyte imm8)

For instructions: CMPPD, CMPSS, CMPSD, CMPPS, PSHUFD, PSHUFHW, PSHUFLW, BLENDPD, BLENDPS, DPPD, DPPS, MPSADBW, PBLENDW, ROUNDPD, ROUNDPS, ROUNDSD, ROUNDSS

__simd_ib
void16 __simd_ib(XMM opcode, void16 op1, ubyte imm8)

For instructions with the imm8 version: PSLLD, PSLLQ, PSLLW, PSRAD, PSRAW, PSRLD, PSRLQ, PSRLW, PSRLDQ, PSLLDQ

__simd_sto
void16 __simd_sto(XMM opcode, void16 op1, void16 op2)

For "store" operations of the form: op1 op= op2 such as MOVLPS.

loadUnaligned
V loadUnaligned(V* p)

Load unaligned vector from address. This is a compiler intrinsic.

prefetch
void prefetch(const(void)* address)

Emit prefetch instruction.

prefetch
void prefetch(const(void)* address)

Emit prefetch instruction.

storeUnaligned
V storeUnaligned(V* p, V value)

Store vector to unaligned address. This is a compiler intrinsic.

Imports

loadUnaligned (from ldc.simd)
public import ldc.simd : loadUnaligned, storeUnaligned;
Undocumented in source.
storeUnaligned (from ldc.simd)
public import ldc.simd : loadUnaligned, storeUnaligned;
Undocumented in source.

Templates

Vector
template Vector(T)

Create a vector type.

Meta