Chapter 6. Extensions to the C Language Family 219v2sf __builtin_ia32_pfmax (v2sf, v2sf)v2sf __builtin_ia32_pfmin (v2sf, v2sf)v2sf __builtin_ia32_pfmul (v2sf, v2sf)v2sf __builtin_ia32_pfrcp (v2sf)v2sf __builtin_ia32_pfrcpit1 (v2sf, v2sf)v2sf __builtin_ia32_pfrcpit2 (v2sf, v2sf)v2sf __builtin_ia32_pfrsqrt (v2sf)v2sf __builtin_ia32_pfrsqrtit1 (v2sf, v2sf)v2sf __builtin_ia32_pfsub (v2sf, v2sf)v2sf __builtin_ia32_pfsubr (v2sf, v2sf)v2sf __builtin_ia32_pi2fd (v2si)v4hi __builtin_ia32_pmulhrw (v4hi, v4hi)The following built-in functions are available when both -m3dnow and -march=athlon are used. Allof them generate the machine instruction that is part of the name.v2si __builtin_ia32_pf2iw (v2sf)v2sf __builtin_ia32_pfnacc (v2sf, v2sf)v2sf __builtin_ia32_pfpnacc (v2sf, v2sf)v2sf __builtin_ia32_pi2fw (v2si)v2sf __builtin_ia32_pswapdsf (v2sf)v2si __builtin_ia32_pswapdsi (v2si)6.46.2. PowerPC AltiVec Built-in FunctionsGCC provides an interface for the PowerPC family of processors to access the AltiVec operationsdescribed in Motorola’s AltiVec Programming Interface Manual. The interface is made available byincluding 2 altivec.h3 and using -maltivec and -mabi=altivec. The interface supports thefollowing vector types.vector unsigned charvector signed charvector bool charvector unsigned shortvector signed shortvector bool shortvector pixelvector unsigned intvector signed intvector bool intvector floatGCC’s implementation of the high-level language interface available from C and C++ code differsfrom Motorola’s documentation in several ways.• A vector constant is a list of constant expressions within curly braces.• A vector initializer requires no cast if the vector constant is of the same type as the variable it isinitializing.