Module Name: src
Committed By: riastradh
Date: Tue Jul 16 15:27:40 UTC 2024
Modified Files:
src/sys/crypto/arch/x86: immintrin.h
Log Message:
sys/crypto: Two more issues in GCC Intel intrinsics.
With this, the AES tests should pass again.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/crypto/arch/x86/immintrin.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/crypto/arch/x86/immintrin.h
diff -u src/sys/crypto/arch/x86/immintrin.h:1.3 src/sys/crypto/arch/x86/immintrin.h:1.4
--- src/sys/crypto/arch/x86/immintrin.h:1.3 Mon Jul 15 13:59:19 2024
+++ src/sys/crypto/arch/x86/immintrin.h Tue Jul 16 15:27:40 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: immintrin.h,v 1.3 2024/07/15 13:59:19 riastradh Exp $ */
+/* $NetBSD: immintrin.h,v 1.4 2024/07/16 15:27:40 riastradh Exp $ */
/*-
* Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -63,7 +63,8 @@ typedef unsigned __v4su __attribute__((_
typedef float __v4sf __attribute__((__vector_size__(16)));
typedef short __v8hi __attribute__((__vector_size__(16)));
typedef char __v16qi __attribute__((__vector_size__(16)));
-typedef char __v16qi_u __attribute__((__vector_size__(16), __aligned__(1)));
+typedef char __v16qi_u
+ __attribute__((__vector_size__(16), __may_alias__, __aligned__(1)));
#elif defined(__clang__)
@@ -146,7 +147,7 @@ static __inline __m128i
_mm_loadu_si64(const void *__p)
{
#if defined(__GNUC__) && !defined(__clang__)
- int64_t __v = (*(const __m64_u *)__p)[0];
+ int64_t __v = (int64_t)*(const __m64_u *)__p;
#else
int64_t __v = ((const struct { int64_t __v; } _PACKALIAS *)__p)->__v;
#endif