summaryrefslogtreecommitdiff
path: root/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'vector.h')
-rw-r--r--vector.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/vector.h b/vector.h
index 7633c15..6e65186 100644
--- a/vector.h
+++ b/vector.h
@@ -1,5 +1,14 @@
#pragma once
+#if defined(__clang__)
+#if __has_extension(attribute_ext_vector_type)
+/* LLVM/clang */
+typedef double double2 __attribute__ ((ext_vector_type (2)));
+typedef double double4 __attribute__ ((ext_vector_type (4)));
+#endif
+#else
+/* GCC */
typedef double double2 __attribute__ ((vector_size (sizeof (double)*2)));
typedef double double4 __attribute__ ((vector_size (sizeof (double)*4)));
+#endif