1@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1996, 1998, 1999, 2000,
2@c 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3
4@c This is part of the GCC manual.
5@c For copying conditions, see the file gcc.texi.
6
7@node C Extensions
8@chapter Extensions to the C Language Family
--- 7241 unchanged lines hidden (view full) ---
7250v4si __builtin_ia32_psignd128 (v4si, v4si)
7251v8hi __builtin_ia32_psignw128 (v8hi, v8hi)
7252v2di __builtin_ia32_palignr (v2di, v2di, int)
7253v16qi __builtin_ia32_pabsb128 (v16qi)
7254v4si __builtin_ia32_pabsd128 (v4si)
7255v8hi __builtin_ia32_pabsw128 (v8hi)
7256@end smallexample
7257
7258The following built-in functions are available when @option{-msse4a} is used.
7259
7260@smallexample
7261void _mm_stream_sd (double*,__m128d);
7262Generates the @code{movntsd} machine instruction.
7263void _mm_stream_ss (float*,__m128);
7264Generates the @code{movntss} machine instruction.
7265__m128i _mm_extract_si64 (__m128i, __m128i);
7266Generates the @code{extrq} machine instruction with only SSE register operands.
7267__m128i _mm_extracti_si64 (__m128i, int, int);
7268Generates the @code{extrq} machine instruction with SSE register and immediate operands.
7269__m128i _mm_insert_si64 (__m128i, __m128i);
7270Generates the @code{insertq} machine instruction with only SSE register operands.
7271__m128i _mm_inserti_si64 (__m128i, __m128i, int, int);
7272Generates the @code{insertq} machine instruction with SSE register and immediate operands.
7273@end smallexample
7274
7275The following built-in functions are available when @option{-m3dnow} is used.
7276All of them generate the machine instruction that is part of the name.
7277
7278@smallexample
7279void __builtin_ia32_femms (void)
7280v8qi __builtin_ia32_pavgusb (v8qi, v8qi)
7281v2si __builtin_ia32_pf2id (v2sf)
7282v2sf __builtin_ia32_pfacc (v2sf, v2sf)
--- 3855 unchanged lines hidden ---
2@c 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3
4@c This is part of the GCC manual.
5@c For copying conditions, see the file gcc.texi.
6
7@node C Extensions
8@chapter Extensions to the C Language Family
--- 7241 unchanged lines hidden (view full) ---
7250v4si __builtin_ia32_psignd128 (v4si, v4si)
7251v8hi __builtin_ia32_psignw128 (v8hi, v8hi)
7252v2di __builtin_ia32_palignr (v2di, v2di, int)
7253v16qi __builtin_ia32_pabsb128 (v16qi)
7254v4si __builtin_ia32_pabsd128 (v4si)
7255v8hi __builtin_ia32_pabsw128 (v8hi)
7256@end smallexample
7257
7258The following built-in functions are available when @option{-msse4a} is used.
7259
7260@smallexample
7261void _mm_stream_sd (double*,__m128d);
7262Generates the @code{movntsd} machine instruction.
7263void _mm_stream_ss (float*,__m128);
7264Generates the @code{movntss} machine instruction.
7265__m128i _mm_extract_si64 (__m128i, __m128i);
7266Generates the @code{extrq} machine instruction with only SSE register operands.
7267__m128i _mm_extracti_si64 (__m128i, int, int);
7268Generates the @code{extrq} machine instruction with SSE register and immediate operands.
7269__m128i _mm_insert_si64 (__m128i, __m128i);
7270Generates the @code{insertq} machine instruction with only SSE register operands.
7271__m128i _mm_inserti_si64 (__m128i, __m128i, int, int);
7272Generates the @code{insertq} machine instruction with SSE register and immediate operands.
7273@end smallexample
7274
7275The following built-in functions are available when @option{-m3dnow} is used.
7276All of them generate the machine instruction that is part of the name.
7277
7278@smallexample
7279void __builtin_ia32_femms (void)
7280v8qi __builtin_ia32_pavgusb (v8qi, v8qi)
7281v2si __builtin_ia32_pf2id (v2sf)
7282v2sf __builtin_ia32_pfacc (v2sf, v2sf)
--- 3855 unchanged lines hidden ---