(__mmask8) __U);
}
+static __inline __m512d __attribute__((__always_inline__, __nodebug__))
+_mm512_loadu_pd(double const *__p)
+{
+ struct __loadu_pd {
+ __m512d __v;
+ } __attribute__((packed, may_alias));
+ return ((struct __loadu_pd*)__p)->__v;
+}
+
+static __inline __m512 __attribute__((__always_inline__, __nodebug__))
+_mm512_loadu_ps(float const *__p)
+{
+ struct __loadu_ps {
+ __m512 __v;
+ } __attribute__((packed, may_alias));
+ return ((struct __loadu_ps*)__p)->__v;
+}
+
/* SIMD store ops */
static __inline void __attribute__ ((__always_inline__, __nodebug__))
_mm512_store_pd(p, a);
}
+__m512 test_mm512_loadu_ps(void *p)
+{
+ // CHECK-LABEL: @test_mm512_loadu_ps
+ // CHECK: load <16 x float>* {{.*}}, align 1{{$}}
+ return _mm512_loadu_ps(p);
+}
+
+__m512d test_mm512_loadu_pd(void *p)
+{
+ // CHECK-LABEL: @test_mm512_loadu_pd
+ // CHECK: load <8 x double>* {{.*}}, align 1{{$}}
+ return _mm512_loadu_pd(p);
+}
+
__m512d test_mm512_set1_pd(double d)
{
// CHECK-LABEL: @test_mm512_set1_pd