6.58.13. MIPS Paired-Single Support
6.58.13 MIPS Paired-Single Support
The MIPS64 architecture includes a number of instructions that operate on pairs of single-precision floating-point values. Each pair is packed into a 64-bit floating-point register, with one element being designated the “upper half” and the other being designated the “lower half”.
GCC supports paired-single operations using both the generic vector extensions (see Vector Extensions) and a collection of MIPS-specific built-in functions. Both kinds of support are enabled by the -mpaired-single
command-line option.
The vector type associated with paired-single values is usually called v2sf
. It can be defined in C as follows:
typedef float v2sf __attribute__ ((vector_size (8)));
v2sf
values are initialized in the same way as aggr