Snap for 6852288 from 4122f91e1603bf01a59cec214ad45dc87e8f6b95 to s-keystone-qcom-release

Change-Id: I645cc3eebb08178a84499737e3f47a615bd56f30
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;