hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/lib/raid6/recov_neon_inner.c
....@@ -1,11 +1,7 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2012 Intel Corporation
34 * Copyright (C) 2017 Linaro Ltd. <ard.biesheuvel@linaro.org>
4
- *
5
- * This program is free software; you can redistribute it and/or
6
- * modify it under the terms of the GNU General Public License
7
- * as published by the Free Software Foundation; version 2
8
- * of the License.
95 */
106
117 #include <arm_neon.h>
....@@ -56,14 +52,14 @@
5652 px = veorq_u8(vld1q_u8(p), vld1q_u8(dp));
5753 vx = veorq_u8(vld1q_u8(q), vld1q_u8(dq));
5854
59
- vy = (uint8x16_t)vshrq_n_s16((int16x8_t)vx, 4);
55
+ vy = vshrq_n_u8(vx, 4);
6056 vx = vqtbl1q_u8(qm0, vandq_u8(vx, x0f));
61
- vy = vqtbl1q_u8(qm1, vandq_u8(vy, x0f));
57
+ vy = vqtbl1q_u8(qm1, vy);
6258 qx = veorq_u8(vx, vy);
6359
64
- vy = (uint8x16_t)vshrq_n_s16((int16x8_t)px, 4);
60
+ vy = vshrq_n_u8(px, 4);
6561 vx = vqtbl1q_u8(pm0, vandq_u8(px, x0f));
66
- vy = vqtbl1q_u8(pm1, vandq_u8(vy, x0f));
62
+ vy = vqtbl1q_u8(pm1, vy);
6763 vx = veorq_u8(vx, vy);
6864 db = veorq_u8(vx, qx);
6965
....@@ -97,9 +93,9 @@
9793
9894 vx = veorq_u8(vld1q_u8(q), vld1q_u8(dq));
9995
100
- vy = (uint8x16_t)vshrq_n_s16((int16x8_t)vx, 4);
96
+ vy = vshrq_n_u8(vx, 4);
10197 vx = vqtbl1q_u8(qm0, vandq_u8(vx, x0f));
102
- vy = vqtbl1q_u8(qm1, vandq_u8(vy, x0f));
98
+ vy = vqtbl1q_u8(qm1, vy);
10399 vx = veorq_u8(vx, vy);
104100 vy = veorq_u8(vx, vld1q_u8(p));
105101