clang
6.0.0svn

#include <pmmintrin.h>
Go to the source code of this file.
Macros  
#define  __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse4a"))) 
#define  _mm_extracti_si64(x, len, idx) 
Extracts the specified bits from the lower 64 bits of the 128bit integer vector operand at the index idx and of the length len. More...  
#define  _mm_inserti_si64(x, y, len, idx) 
Inserts bits of a specified length from the source integer vector y into the lower 64 bits of the destination integer vector x at the index idx and of the length len. More...  
Functions  
static __inline__ __m128i __DEFAULT_FN_ATTRS  _mm_extract_si64 (__m128i __x, __m128i __y) 
Extracts the specified bits from the lower 64 bits of the 128bit integer vector operand at the index and of the length specified by __y. More...  
static __inline__ __m128i __DEFAULT_FN_ATTRS  _mm_insert_si64 (__m128i __x, __m128i __y) 
Inserts bits of a specified length from the source integer vector __y into the lower 64 bits of the destination integer vector __x at the index and of the length specified by __y. More...  
static __inline__ void __DEFAULT_FN_ATTRS  _mm_stream_sd (double *__p, __m128d __a) 
Stores a 64bit doubleprecision value in a 64bit memory location. More...  
static __inline__ void __DEFAULT_FN_ATTRS  _mm_stream_ss (float *__p, __m128 __a) 
Stores a 32bit singleprecision floatingpoint value in a 32bit memory location. More...  
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse4a"))) 
Definition at line 30 of file ammintrin.h.
Referenced by _mm_insert_si64(), and _mm_stream_sd().
#define _mm_extracti_si64  (  x,  
len,  
idx  
) 
Extracts the specified bits from the lower 64 bits of the 128bit integer vector operand at the index idx and of the length len.
This intrinsic corresponds to the EXTRQ
instruction.
x  The value from which bits are extracted. 
len  Bits [5:0] specify the length; the other bits are ignored. If bits [5:0] are zero, the length is interpreted as 64. 
idx  Bits [5:0] specify the index of the least significant bit; the other bits are ignored. If the sum of the index and length is greater than 64, the result is undefined. If the length and index are both zero, bits [63:0] of parameter x are extracted. If the length is zero but the index is nonzero, the result is undefined. 
Definition at line 56 of file ammintrin.h.
#define _mm_inserti_si64  (  x,  
y,  
len,  
idx  
) 
Inserts bits of a specified length from the source integer vector y into the lower 64 bits of the destination integer vector x at the index idx and of the length len.
This intrinsic corresponds to the INSERTQ
instruction.
x  The destination operand where bits will be inserted. The inserted bits are defined by the length len and by the index idx specifying the least significant bit. 
y  The source operand containing the bits to be extracted. The extracted bits are the least significant bits of operand y of length len. 
len  Bits [5:0] specify the length; the other bits are ignored. If bits [5:0] are zero, the length is interpreted as 64. 
idx  Bits [5:0] specify the index of the least significant bit; the other bits are ignored. If the sum of the index and length is greater than 64, the result is undefined. If the length and index are both zero, bits [63:0] of parameter y are inserted into parameter x. If the length is zero but the index is nonzero, the result is undefined. 
Definition at line 118 of file ammintrin.h.

static 
Extracts the specified bits from the lower 64 bits of the 128bit integer vector operand at the index and of the length specified by __y.
This intrinsic corresponds to the EXTRQ
instruction.
__x  The value from which bits are extracted. 
__y  Specifies the index of the least significant bit at [13:8] and the length at [5:0]; all other bits are ignored. If bits [5:0] are zero, the length is interpreted as 64. If the sum of the index and length is greater than 64, the result is undefined. If the length and index are both zero, bits [63:0] of parameter __x are extracted. If the length is zero but the index is nonzero, the result is undefined. 
Definition at line 80 of file ammintrin.h.

static 
Inserts bits of a specified length from the source integer vector __y into the lower 64 bits of the destination integer vector __x at the index and of the length specified by __y.
This intrinsic corresponds to the INSERTQ
instruction.
__x  The destination operand where bits will be inserted. The inserted bits are defined by the length and by the index of the least significant bit specified by operand __y. 
__y  The source operand containing the bits to be extracted. The extracted bits are the least significant bits of operand __y with length specified by bits [69:64]. These are inserted into the destination at the index specified by bits [77:72]; all other bits are ignored. If bits [69:64] are zero, the length is interpreted as 64. If the sum of the index and length is greater than 64, the result is undefined. If the length and index are both zero, bits [63:0] of parameter __y are inserted into parameter __x. If the length is zero but the index is nonzero, the result is undefined. 
Definition at line 150 of file ammintrin.h.
References __DEFAULT_FN_ATTRS.

static 
Stores a 64bit doubleprecision value in a 64bit memory location.
To minimize caching, the data is flagged as nontemporal (unlikely to be used again soon).
This intrinsic corresponds to the MOVNTSD
instruction.
__p  The 64bit memory location used to store the register value. 
__a  The 64bit doubleprecision floatingpoint register value to be stored. 
Definition at line 168 of file ammintrin.h.
References __DEFAULT_FN_ATTRS.

static 
Stores a 32bit singleprecision floatingpoint value in a 32bit memory location.
To minimize caching, the data is flagged as nontemporal (unlikely to be used again soon).
This intrinsic corresponds to the MOVNTSS
instruction.
__p  The 32bit memory location used to store the register value. 
__a  The 32bit singleprecision floatingpoint register value to be stored. 
Definition at line 186 of file ammintrin.h.