Home
last modified time | relevance | path

Searched refs:parity (Results 1 – 25 of 35) sorted by relevance

12

/isa-l/raid/
H A Draid_base.c103 unsigned char parity; in xor_gen_base() local
110 parity = src[0][i]; in xor_gen_base()
112 parity ^= src[j][i]; in xor_gen_base()
114 src[vects - 1][i] = parity; // last pointer is dest in xor_gen_base()
125 unsigned char parity; in xor_check_base() local
132 parity = 0; in xor_check_base()
134 parity ^= src[j][i]; in xor_check_base()
136 if (parity != 0) { in xor_check_base()
H A Dpq_gen_sse.asm33 ;;; Generates P+Q parity vector from N (vects-2) sources in array of pointers
184 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
185 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
192 XSTR [ptr+pos], xp1 ;Write parity P1 vector
193 XSTR [ptr+pos+16], xp2 ;Write parity P2 vector
194 XSTR [ptr+pos+32], xp3 ;Write parity P3 vector
195 XSTR [tmp+pos], xq1 ;Write parity Q1 vector
196 XSTR [tmp+pos+16], xq2 ;Write parity Q2 vector
197 XSTR [tmp+pos+32], xq3 ;Write parity Q3 vector
228 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
[all …]
H A Dpq_gen_avx2.asm33 ;;; Generates P+Q parity vector from N (vects-2) sources in array of pointers
183 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
184 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
191 XSTR [ptr+pos], xp1 ;Write parity P1 vector
192 XSTR [ptr+pos+32], xp2 ;Write parity P2 vector
193 XSTR [ptr+pos+64], xp3 ;Write parity P3 vector
194 XSTR [tmp+pos], xq1 ;Write parity Q1 vector
195 XSTR [tmp+pos+32], xq2 ;Write parity Q2 vector
196 XSTR [tmp+pos+64], xq3 ;Write parity Q3 vector
225 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
[all …]
H A Dpq_gen_avx.asm33 ;;; Generates P+Q parity vector from N (vects-2) sources in array of pointers
182 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
183 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
190 XSTR [ptr+pos], xp1 ;Write parity P1 vector
191 XSTR [ptr+pos+16], xp2 ;Write parity P2 vector
192 XSTR [ptr+pos+32], xp3 ;Write parity P3 vector
193 XSTR [tmp+pos], xq1 ;Write parity Q1 vector
194 XSTR [tmp+pos+16], xq2 ;Write parity Q2 vector
195 XSTR [tmp+pos+32], xq3 ;Write parity Q3 vector
224 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
[all …]
H A Dpq_gen_avx512.asm33 ;;; Generates P+Q parity vector from N (vects-2) sources in array of pointers
174 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
175 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
180 XSTR [ptr+pos], xp1 ;Write parity P1 vector
181 XSTR [ptr+pos+64], xp2 ;Write parity P2 vector
182 XSTR [tmp+pos], xq1 ;Write parity Q1 vector
183 XSTR [tmp+pos+64], xq2 ;Write parity Q2 vector
212 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
213 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
216 XSTR [ptr+pos], xp1y ;Write parity P vector
[all …]
H A Dpq_gen_sse_i32.asm33 ;;; Generates P+Q parity vector from N (vects-2) sources in array of pointers
193 mov ptr, [arg2+PS+vec*PS] ;Get address of P parity vector
194 mov tmp, [arg2+(2*PS)+vec*PS] ;Get address of Q parity vector
199 XSTR [ptr+pos], xp1 ;Write parity P1 vector
200 XSTR [ptr+pos+16], xp2 ;Write parity P2 vector
201 XSTR [tmp+pos], xq1 ;Write parity Q1 vector
202 XSTR [tmp+pos+16], xq2 ;Write parity Q2 vector
233 mov ptr, [arg2+PS+vec*PS] ;Get address of P parity vector
234 mov tmp, [arg2+(2*PS)+vec*PS] ;Get address of Q parity vector
237 XSTR [ptr+pos], xp1 ;Write parity P vector
[all …]
H A Dxor_gen_avx512.asm33 ;;; Generates xor parity vector from N (vects-1) sources in array of pointers
125 XLDR zmm1, [tmp2+pos+64] ;Keep xor parity in xmm0-7
132 vpxorq zmm0, zmm0, zmm4 ;Add to xor parity
136 mov ptr, [arg2+PS+vec*PS] ;Address of parity vector
137 XSTR [ptr+pos], zmm0 ;Write parity xor vector
164 mov [ptr+len-1], tmp2.b ;Write parity
199 mov [ptr+len-PS], tmp2 ;Write parity
H A Dpq_check_sse_i32.asm33 ;;; Generates P+Q parity vector from N (vects-2) sources in array of pointers
164 mov ptr, [arg2+PS+vec*PS] ;Get address of P parity vector
165 mov tmp, [arg2+(2*PS)+vec*PS] ;Get address of Q parity vector
202 mov tmp, [arg2+(2*PS)+vec*PS] ;Get address of Q parity vector
209 por xp1, xq1 ;Confirm that all P&Q parity are 0
226 mov ptr, [arg2+PS+vec*PS] ;Get address of P parity vector
227 mov tmp, [arg2+(2*PS)+vec*PS] ;Get address of Q parity vector
250 mov tmp, [arg2+(2*PS)+vec*PS] ;Get address of Q parity vector
254 por xp1, xq1 ;Confirm that all P&Q parity are = 0
H A Dxor_gen_avx.asm33 ;;; Generates xor parity vector from N (vects-1) sources in array of pointers
124 XLDR ymm1, [tmp2+pos+32] ;Keep xor parity in xmm0-7
135 vxorpd ymm0, ymm0, ymm4 ;Add to xor parity
141 mov ptr, [arg2+PS+vec*PS] ;Address of parity vector
142 XSTR [ptr+pos], ymm0 ;Write parity xor vector
171 mov [ptr+len-1], tmp2.b ;Write parity
206 mov [ptr+len-PS], tmp2 ;Write parity
H A Dpq_check_sse.asm142 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
192 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
201 por xp1, xq1 ;Confirm that all P&Q parity are 0
220 mov ptr, [arg2+8+vec*8] ;Get address of P parity vector
221 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
244 mov tmp, [arg2+(2*8)+vec*8] ;Get address of Q parity vector
248 por xp1, xq1 ;Confirm that all P&Q parity are = 0
H A Dxor_gen_sse.asm33 ;;; Generates xor parity vector from N (vects-1) sources in array of pointers
167 XLDR xmm1, [tmp2+pos+16] ;Keep xor parity in xmm0-7
191 mov ptr, [arg2+PS+tmp*PS] ;Address of parity vector
192 XSTR [ptr+pos], xmm0 ;Write parity xor vector
228 mov [ptr+len-1], tmp2.b ;Write parity
262 mov [ptr+len-PS], tmp2 ;Write parity
H A Dxor_check_sse.asm33 ;;; Checks that array has XOR parity sum of 0 across all vectors in **array.
166 XLDR xmm1, [tmp2+pos+16] ;Keep xor parity in xmm0-7
188 ;; End of vects, check that all parity regs = 0
/isa-l/doc/
H A Dfunctions.md25 For example, the function ec_encode_data() will generate a set of parity blocks
41 encode matrix, parameters k (source blocks) and m (total parity + source
50 describing the parity blocks are used for encode and the upper matrix is
52 matrix. Next the parity for all (m - k) blocks are calculated at once.
55 // Generate EC parity blocks from sources
61 Functions in the RAID section calculate and operate on XOR and P+Q parity found
63 finite-field arithmetic to find one or two parity bytes for each byte in N
65 corrected. For RAID5, a block of parity is calculated by the xor across the N
66 source arrays. Each parity byte is calculated from N sources by:
74 For RAID6, two parity bytes P and Q are calculated from the source array. P is
[all …]
/isa-l/erasure_code/
H A Dgf_vect_mad_avx2_gfni.asm134 ;; Encodes 96 bytes of a single source and updates a single parity disk
156 ;; Encodes 64 bytes of a single source and updates a single parity disk
174 ;; Encodes 32 bytes of a single source and updates single parity disk
188 ;; Encodes less than 32 bytes of a single source and updates parity disk
H A Dgf_vect_dot_prod_avx2_gfni.asm154 ;; Encodes 96 bytes of all "k" sources into 96 bytes (single parity disk)
187 ;; Encodes 64 bytes of all "k" sources into 64 bytes (single parity disk)
216 ;; Encodes 32 bytes of all "k" sources into 32 bytes (single parity disks)
241 ;; Encodes less than 32 bytes of all "k" sources into single parity disks
H A Dgf_2vect_mad_avx2_gfni.asm156 ;; Encodes 96 bytes of a single source into 2x 96 bytes (parity disks)
185 ;; Encodes 64 bytes of a single source into 2x 64 bytes (parity disks)
208 ;; Encodes 32 bytes of a single source into 2x 32 bytes (parity disks)
225 ;; Encodes less than 32 bytes of a single source into 2x parity disks
H A Dgf_2vect_dot_prod_avx2_gfni.asm178 ;; Encodes 96 bytes of all "k" sources into 2x 96 bytes (parity disk)
219 ;; Encodes 64 bytes of all "k" sources into 2x 64 bytes (parity disks)
252 ;; Encodes 32 bytes of all "k" sources into 2x 32 bytes (parity disks)
279 ;; Encodes less than 32 bytes of all "k" sources into 2 parity disks
H A Dgf_3vect_mad_avx2_gfni.asm160 ;; Encodes 64 bytes of a single source into 3x 64 bytes (parity disks)
188 ;; Encodes 32 bytes of a single source into 3x 32 bytes (parity disks)
206 ;; Encodes less than 32 bytes of a single source into 3x parity disks
H A Dgf_3vect_dot_prod_avx2_gfni.asm187 ;; Encodes 64 bytes of all "k" sources into 3x 64 bytes (parity disks)
225 ;; Encodes 32 bytes of all "k" sources into 3x 32 bytes (parity disks)
255 ;; Encodes less than 32 bytes of all "k" sources into 3 parity disks
H A Dgf_4vect_mad_avx2_gfni.asm150 ;; Encodes 32 bytes of a single source into 4x 32 bytes (parity disks)
171 ;; Encodes less than 32 bytes of a single source into 4x parity disks
H A Dgf_5vect_mad_avx2_gfni.asm169 ;; Encodes 32 bytes of a single source into 5x 32 bytes (parity disks)
192 ;; Encodes less than 32 bytes of a single source into 5x parity disks
H A Dgf_vect_mad_avx512_gfni.asm116 ;; Encodes 64 bytes of a single source into 64 bytes (single parity disk)
H A Dgf_vect_dot_prod_avx512_gfni.asm120 ;; Encodes 64 bytes of all "k" sources into 64 bytes (single parity disk)
H A Dgf_2vect_dot_prod_avx512_gfni.asm132 ;; Encodes 64 bytes of all "k" sources into 2x 64 bytes (parity disks)
H A Dgf_2vect_mad_avx512_gfni.asm121 ;; Encodes 64 bytes of a single source into 2x 64 bytes (parity disks)

12