From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- ...ps-simd-architecture-_0028msa_0029-support.html | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 devdocs/gcc~13/mips-simd-architecture-_0028msa_0029-support.html (limited to 'devdocs/gcc~13/mips-simd-architecture-_0028msa_0029-support.html') diff --git a/devdocs/gcc~13/mips-simd-architecture-_0028msa_0029-support.html b/devdocs/gcc~13/mips-simd-architecture-_0028msa_0029-support.html new file mode 100644 index 00000000..19fbede6 --- /dev/null +++ b/devdocs/gcc~13/mips-simd-architecture-_0028msa_0029-support.html @@ -0,0 +1,74 @@ +

6.60.18 MIPS SIMD Architecture (MSA) Support

GCC provides intrinsics to access the SIMD instructions provided by the MSA MIPS SIMD Architecture. The interface is made available by including <msa.h> and using -mmsa -mhard-float -mfp64 -mnan=2008. For each __builtin_msa_*, there is a shortened name of the intrinsic, __msa_*.

MSA implements 128-bit wide vector registers, operating on 8-, 16-, 32- and 64-bit integer, 16- and 32-bit fixed-point, or 32- and 64-bit floating point data elements. The following vectors typedefs are included in msa.h:

+

Instructions and corresponding built-ins may have additional restrictions and/or input/output values manipulated:

+
{
+typedef int i32;
+#if __LONG_MAX__ == __LONG_LONG_MAX__
+typedef long i64;
+#else
+typedef long long i64;
+#endif
+
+typedef unsigned int u32;
+#if __LONG_MAX__ == __LONG_LONG_MAX__
+typedef unsigned long u64;
+#else
+typedef unsigned long long u64;
+#endif
+
+typedef double f64;
+typedef float f32;
+}
+
+

+ © Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
+ https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/MIPS-SIMD-Architecture-_0028MSA_0029-Support.html +

+
-- cgit v1.2.3