Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/crypto Fix vgetq_lane_u32 for aarch64eb with GCC



details:   https://anonhg.NetBSD.org/src/rev/89c365dcacaa
branches:  trunk
changeset: 1013909:89c365dcacaa
user:      jakllsch <jakllsch%NetBSD.org@localhost>
date:      Mon Sep 07 18:06:13 2020 +0000

description:
Fix vgetq_lane_u32 for aarch64eb with GCC

Fixes NEON AES on aarch64eb

diffstat:

 sys/crypto/aes/arch/arm/arm_neon.h    |  4 ++--
 sys/crypto/chacha/arch/arm/arm_neon.h |  4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diffs (36 lines):

diff -r 1156e8dc12f7 -r 89c365dcacaa sys/crypto/aes/arch/arm/arm_neon.h
--- a/sys/crypto/aes/arch/arm/arm_neon.h        Mon Sep 07 18:05:17 2020 +0000
+++ b/sys/crypto/aes/arch/arm/arm_neon.h        Mon Sep 07 18:06:13 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: arm_neon.h,v 1.10 2020/08/09 02:49:38 riastradh Exp $  */
+/*     $NetBSD: arm_neon.h,v 1.11 2020/09/07 18:06:13 jakllsch Exp $   */
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -232,7 +232,7 @@
 vgetq_lane_u32(uint32x4_t __v, uint8_t __i)
 {
 #ifdef __aarch64__
-       return __v[__i];
+       return __v[__neon_laneq_index(__v,__i)];
 #else
        return (uint32_t)__builtin_neon_vget_laneuv4si((int32x4_t)__v, __i);
 #endif
diff -r 1156e8dc12f7 -r 89c365dcacaa sys/crypto/chacha/arch/arm/arm_neon.h
--- a/sys/crypto/chacha/arch/arm/arm_neon.h     Mon Sep 07 18:05:17 2020 +0000
+++ b/sys/crypto/chacha/arch/arm/arm_neon.h     Mon Sep 07 18:06:13 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: arm_neon.h,v 1.6 2020/08/09 02:49:38 riastradh Exp $   */
+/*     $NetBSD: arm_neon.h,v 1.7 2020/09/07 18:06:13 jakllsch Exp $    */
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -232,7 +232,7 @@
 vgetq_lane_u32(uint32x4_t __v, uint8_t __i)
 {
 #ifdef __aarch64__
-       return __v[__i];
+       return __v[__neon_laneq_index(__v, __i)];
 #else
        return (uint32_t)__builtin_neon_vget_laneuv4si((int32x4_t)__v, __i);
 #endif



Home | Main Index | Thread Index | Old Index