/lib/raid6/ |
D | recov_avx2.c | 19 u8 *p, *q, *dp, *dq; in raid6_2data_recov_avx2() local 33 dq = (u8 *)ptrs[failb]; in raid6_2data_recov_avx2() 35 ptrs[disks-1] = dq; in raid6_2data_recov_avx2() 41 ptrs[failb] = dq; in raid6_2data_recov_avx2() 61 asm volatile("vpxor %0, %%ymm1, %%ymm1" : : "m" (dq[0])); in raid6_2data_recov_avx2() 62 asm volatile("vpxor %0, %%ymm9, %%ymm9" : : "m" (dq[32])); in raid6_2data_recov_avx2() 120 asm volatile("vmovdqa %%ymm1, %0" : "=m" (dq[0])); in raid6_2data_recov_avx2() 121 asm volatile("vmovdqa %%ymm13,%0" : "=m" (dq[32])); in raid6_2data_recov_avx2() 132 dq += 64; in raid6_2data_recov_avx2() 136 asm volatile("vpxor %0, %%ymm1, %%ymm1" : : "m" (*dq)); in raid6_2data_recov_avx2() [all …]
|
D | recov_ssse3.c | 19 u8 *p, *q, *dp, *dq; in raid6_2data_recov_ssse3() local 35 dq = (u8 *)ptrs[failb]; in raid6_2data_recov_ssse3() 37 ptrs[disks-1] = dq; in raid6_2data_recov_ssse3() 43 ptrs[failb] = dq; in raid6_2data_recov_ssse3() 71 asm volatile("pxor %0,%%xmm1" : : "m" (dq[0])); in raid6_2data_recov_ssse3() 72 asm volatile("pxor %0,%%xmm9" : : "m" (dq[16])); in raid6_2data_recov_ssse3() 124 asm volatile("movdqa %%xmm1,%0" : "=m" (dq[0])); in raid6_2data_recov_ssse3() 125 asm volatile("movdqa %%xmm9,%0" : "=m" (dq[16])); in raid6_2data_recov_ssse3() 136 dq += 32; in raid6_2data_recov_ssse3() 140 asm volatile("pxor %0,%%xmm1" : : "m" (*dq)); in raid6_2data_recov_ssse3() [all …]
|
D | recov_avx512.c | 27 u8 *p, *q, *dp, *dq; in raid6_2data_recov_avx512() local 44 dq = (u8 *)ptrs[failb]; in raid6_2data_recov_avx512() 46 ptrs[disks-1] = dq; in raid6_2data_recov_avx512() 52 ptrs[failb] = dq; in raid6_2data_recov_avx512() 78 "m" (p[64]), "m" (dq[0]), "m" (dq[64]), in raid6_2data_recov_avx512() 148 : "m" (dq[0]), "m" (dq[64])); in raid6_2data_recov_avx512() 159 dq += 128; in raid6_2data_recov_avx512() 166 : "m" (*q), "m" (*p), "m"(*dq), "m" (*dp)); in raid6_2data_recov_avx512() 209 : "m" (dq[0])); in raid6_2data_recov_avx512() 220 dq += 64; in raid6_2data_recov_avx512() [all …]
|
D | recov_s390xc.c | 26 u8 *p, *q, *dp, *dq; in raid6_2data_recov_s390xc() local 40 dq = (u8 *)ptrs[failb]; in raid6_2data_recov_s390xc() 42 ptrs[disks-1] = dq; in raid6_2data_recov_s390xc() 48 ptrs[failb] = dq; in raid6_2data_recov_s390xc() 59 xor_block(dq, q); in raid6_2data_recov_s390xc() 61 dq[i] = pbmul[dp[i]] ^ qmul[dq[i]]; in raid6_2data_recov_s390xc() 62 xor_block(dp, dq); in raid6_2data_recov_s390xc() 66 dq += 256; in raid6_2data_recov_s390xc() 75 u8 *p, *q, *dq; in raid6_datap_recov_s390xc() local 84 dq = (u8 *)ptrs[faila]; in raid6_datap_recov_s390xc() [all …]
|
D | recov.c | 23 u8 *p, *q, *dp, *dq; in raid6_2data_recov_intx1() local 37 dq = (u8 *)ptrs[failb]; in raid6_2data_recov_intx1() 39 ptrs[disks-1] = dq; in raid6_2data_recov_intx1() 45 ptrs[failb] = dq; in raid6_2data_recov_intx1() 56 qx = qmul[*q ^ *dq]; in raid6_2data_recov_intx1() 57 *dq++ = db = pbmul[px] ^ qx; /* Reconstructed B */ in raid6_2data_recov_intx1() 67 u8 *p, *q, *dq; in raid6_datap_recov_intx1() local 75 dq = (u8 *)ptrs[faila]; in raid6_datap_recov_intx1() 77 ptrs[disks-1] = dq; in raid6_datap_recov_intx1() 82 ptrs[faila] = dq; in raid6_datap_recov_intx1() [all …]
|
D | recov_neon.c | 23 uint8_t *dq, const uint8_t *pbmul, 26 void __raid6_datap_recov_neon(int bytes, uint8_t *p, uint8_t *q, uint8_t *dq, 32 u8 *p, *q, *dp, *dq; in raid6_2data_recov_neon() local 47 dq = (u8 *)ptrs[failb]; in raid6_2data_recov_neon() 49 ptrs[disks - 1] = dq; in raid6_2data_recov_neon() 55 ptrs[failb] = dq; in raid6_2data_recov_neon() 65 __raid6_2data_recov_neon(bytes, p, q, dp, dq, pbmul, qmul); in raid6_2data_recov_neon() 72 u8 *p, *q, *dq; in raid6_datap_recov_neon() local 82 dq = (u8 *)ptrs[faila]; in raid6_datap_recov_neon() 84 ptrs[disks - 1] = dq; in raid6_datap_recov_neon() [all …]
|
D | recov_neon_inner.c | 28 uint8_t *dq, const uint8_t *pbmul, in __raid6_2data_recov_neon() argument 53 vx = veorq_u8(vld1q_u8(q), vld1q_u8(dq)); in __raid6_2data_recov_neon() 66 vst1q_u8(dq, db); in __raid6_2data_recov_neon() 73 dq += 16; in __raid6_2data_recov_neon() 77 void __raid6_datap_recov_neon(int bytes, uint8_t *p, uint8_t *q, uint8_t *dq, in __raid6_datap_recov_neon() argument 94 vx = veorq_u8(vld1q_u8(q), vld1q_u8(dq)); in __raid6_datap_recov_neon() 102 vst1q_u8(dq, vx); in __raid6_datap_recov_neon() 108 dq += 16; in __raid6_datap_recov_neon()
|