24 lines
618 B
C
24 lines
618 B
C
|
#include <stdio.h>
|
||
|
#include <mmintrin.h>
|
||
|
|
||
|
#define AS_BYTES "%2.2x %2.2x %2.2x %2.2x " \
|
||
|
"%2.2x %2.2x %2.2x %2.2x"
|
||
|
#define AS_WORDS "%4.4x %4.4x %4.4x %4.4x"
|
||
|
#define AS_DWORDS "%8.8lx %8.8lx"
|
||
|
|
||
|
__m64 a;
|
||
|
__m64 b = { 0x0004000300020001 };
|
||
|
__m64 c = { 0xff7fff800080007f };
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
a = _m_packsswb( b, c );
|
||
|
printf( "m2="AS_WORDS" "
|
||
|
"m1="AS_WORDS"\n"
|
||
|
"mm="AS_BYTES"\n",
|
||
|
c._16[3], c._16[2], c._16[1], c._16[0],
|
||
|
b._16[3], b._16[2], b._16[1], b._16[0],
|
||
|
a._8[7], a._8[6], a._8[5], a._8[4],
|
||
|
a._8[3], a._8[2], a._8[1], a._8[0] );
|
||
|
}
|