Merge SP1A.200727.001
Change-Id: Iaa80d4261e11581d1e8f06b990aa0c3f1f0c98e7
diff --git a/METADATA b/METADATA
index 5b1c1a4..364e59b 100644
--- a/METADATA
+++ b/METADATA
@@ -1,7 +1,5 @@
name: "psimd"
-description:
- "Portable 128-bit SIMD intrinsics"
-
+description: "Portable 128-bit SIMD intrinsics"
third_party {
url {
type: HOMEPAGE
@@ -11,7 +9,11 @@
type: GIT
value: "https://github.com/Maratyszcza/psimd"
}
- version: "10b4ffc6ea9e2e11668f86969586f88bc82aaefa"
- last_upgrade_date { year: 2020 month: 2 day: 3 }
+ version: "072586a71b55b7f8c584153d223e95687148a900"
license_type: NOTICE
+ last_upgrade_date {
+ year: 2020
+ month: 5
+ day: 18
+ }
}
diff --git a/NOTICE b/NOTICE
deleted file mode 120000
index 7a694c9..0000000
--- a/NOTICE
+++ /dev/null
@@ -1 +0,0 @@
-LICENSE
\ No newline at end of file
diff --git a/include/psimd.h b/include/psimd.h
index 1aa1014..b7cb65d 100644
--- a/include/psimd.h
+++ b/include/psimd.h
@@ -28,7 +28,7 @@
#define PSIMD_INTRINSIC static
#endif
-#if defined(__GNUC__)
+#if defined(__GNUC__) || defined(__clang__)
#if defined(__ARM_NEON__) || defined(__ARM_NEON)
#include <arm_neon.h>
#endif
@@ -78,7 +78,7 @@
#include <stdint.h>
#endif
-#if defined(__GNUC__)
+#if defined(__GNUC__) || defined(__clang__)
#define PSIMD_HAVE_F64 0
#define PSIMD_HAVE_F32 1
#define PSIMD_HAVE_U8 1
@@ -664,10 +664,10 @@
#if defined(__aarch64__) || defined(__ARM_NEON__) && defined(__ARM_FEATURE_FMA)
return (psimd_f32) vfmaq_f32((float32x4_t) a, (float32x4_t) b, (float32x4_t) c);
#elif (defined(__x86_64__) || defined(__i386__) || defined(__i686__)) && defined(__FMA__)
- return (psimd_f32) _mm_fmadd_ps((__m128) c, (__m128) a, (__m128) b);
+ return (psimd_f32) _mm_fmadd_ps((__m128) b, (__m128) c, (__m128) a);
#elif (defined(__x86_64__) || defined(__i386__) || defined(__i686__)) && defined(__FMA4__)
- return (psimd_f32) _mm_macc_ps((__m128) c, (__m128) a, (__m128) b);
- #elif defined(__wasm__) && defined(__wasm_simd128__) && defined(__clang__)
+ return (psimd_f32) _mm_macc_ps((__m128) b, (__m128) c, (__m128) a);
+ #elif defined(__wasm__) && defined(__wasm_simd128__) && defined(__clang__) && PSIMD_ENABLE_WASM_QFMA
return (psimd_f32) __builtin_wasm_qfma_f32x4(a, b, c);
#else
return a + b * c;