1503793b1SChristoph Hellwig // SPDX-License-Identifier: GPL-2.0-or-later 2503793b1SChristoph Hellwig /* 3503793b1SChristoph Hellwig * Optimized XOR parity functions for alpha EV5 and EV6 4503793b1SChristoph Hellwig */ 5e20043b4SChristoph Hellwig #include "xor_impl.h" 6e20043b4SChristoph Hellwig #include "xor_arch.h" 7503793b1SChristoph Hellwig 8503793b1SChristoph Hellwig extern void 9503793b1SChristoph Hellwig xor_alpha_2(unsigned long bytes, unsigned long * __restrict p1, 10503793b1SChristoph Hellwig const unsigned long * __restrict p2); 11503793b1SChristoph Hellwig extern void 12503793b1SChristoph Hellwig xor_alpha_3(unsigned long bytes, unsigned long * __restrict p1, 13503793b1SChristoph Hellwig const unsigned long * __restrict p2, 14503793b1SChristoph Hellwig const unsigned long * __restrict p3); 15503793b1SChristoph Hellwig extern void 16503793b1SChristoph Hellwig xor_alpha_4(unsigned long bytes, unsigned long * __restrict p1, 17503793b1SChristoph Hellwig const unsigned long * __restrict p2, 18503793b1SChristoph Hellwig const unsigned long * __restrict p3, 19503793b1SChristoph Hellwig const unsigned long * __restrict p4); 20503793b1SChristoph Hellwig extern void 21503793b1SChristoph Hellwig xor_alpha_5(unsigned long bytes, unsigned long * __restrict p1, 22503793b1SChristoph Hellwig const unsigned long * __restrict p2, 23503793b1SChristoph Hellwig const unsigned long * __restrict p3, 24503793b1SChristoph Hellwig const unsigned long * __restrict p4, 25503793b1SChristoph Hellwig const unsigned long * __restrict p5); 26503793b1SChristoph Hellwig 27503793b1SChristoph Hellwig extern void 28503793b1SChristoph Hellwig xor_alpha_prefetch_2(unsigned long bytes, unsigned long * __restrict p1, 29503793b1SChristoph Hellwig const unsigned long * __restrict p2); 30503793b1SChristoph Hellwig extern void 31503793b1SChristoph Hellwig xor_alpha_prefetch_3(unsigned long bytes, unsigned long * __restrict p1, 32503793b1SChristoph Hellwig const unsigned long * __restrict p2, 33503793b1SChristoph Hellwig const unsigned long * __restrict p3); 34503793b1SChristoph Hellwig extern void 35503793b1SChristoph Hellwig xor_alpha_prefetch_4(unsigned long bytes, unsigned long * __restrict p1, 36503793b1SChristoph Hellwig const unsigned long * __restrict p2, 37503793b1SChristoph Hellwig const unsigned long * __restrict p3, 38503793b1SChristoph Hellwig const unsigned long * __restrict p4); 39503793b1SChristoph Hellwig extern void 40503793b1SChristoph Hellwig xor_alpha_prefetch_5(unsigned long bytes, unsigned long * __restrict p1, 41503793b1SChristoph Hellwig const unsigned long * __restrict p2, 42503793b1SChristoph Hellwig const unsigned long * __restrict p3, 43503793b1SChristoph Hellwig const unsigned long * __restrict p4, 44503793b1SChristoph Hellwig const unsigned long * __restrict p5); 45503793b1SChristoph Hellwig 46503793b1SChristoph Hellwig asm(" \n\ 47503793b1SChristoph Hellwig .text \n\ 48503793b1SChristoph Hellwig .align 3 \n\ 49503793b1SChristoph Hellwig .ent xor_alpha_2 \n\ 50503793b1SChristoph Hellwig xor_alpha_2: \n\ 51503793b1SChristoph Hellwig .prologue 0 \n\ 52503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 53503793b1SChristoph Hellwig .align 4 \n\ 54503793b1SChristoph Hellwig 2: \n\ 55503793b1SChristoph Hellwig ldq $0,0($17) \n\ 56503793b1SChristoph Hellwig ldq $1,0($18) \n\ 57503793b1SChristoph Hellwig ldq $2,8($17) \n\ 58503793b1SChristoph Hellwig ldq $3,8($18) \n\ 59503793b1SChristoph Hellwig \n\ 60503793b1SChristoph Hellwig ldq $4,16($17) \n\ 61503793b1SChristoph Hellwig ldq $5,16($18) \n\ 62503793b1SChristoph Hellwig ldq $6,24($17) \n\ 63503793b1SChristoph Hellwig ldq $7,24($18) \n\ 64503793b1SChristoph Hellwig \n\ 65503793b1SChristoph Hellwig ldq $19,32($17) \n\ 66503793b1SChristoph Hellwig ldq $20,32($18) \n\ 67503793b1SChristoph Hellwig ldq $21,40($17) \n\ 68503793b1SChristoph Hellwig ldq $22,40($18) \n\ 69503793b1SChristoph Hellwig \n\ 70503793b1SChristoph Hellwig ldq $23,48($17) \n\ 71503793b1SChristoph Hellwig ldq $24,48($18) \n\ 72503793b1SChristoph Hellwig ldq $25,56($17) \n\ 73503793b1SChristoph Hellwig xor $0,$1,$0 # 7 cycles from $1 load \n\ 74503793b1SChristoph Hellwig \n\ 75503793b1SChristoph Hellwig ldq $27,56($18) \n\ 76503793b1SChristoph Hellwig xor $2,$3,$2 \n\ 77503793b1SChristoph Hellwig stq $0,0($17) \n\ 78503793b1SChristoph Hellwig xor $4,$5,$4 \n\ 79503793b1SChristoph Hellwig \n\ 80503793b1SChristoph Hellwig stq $2,8($17) \n\ 81503793b1SChristoph Hellwig xor $6,$7,$6 \n\ 82503793b1SChristoph Hellwig stq $4,16($17) \n\ 83503793b1SChristoph Hellwig xor $19,$20,$19 \n\ 84503793b1SChristoph Hellwig \n\ 85503793b1SChristoph Hellwig stq $6,24($17) \n\ 86503793b1SChristoph Hellwig xor $21,$22,$21 \n\ 87503793b1SChristoph Hellwig stq $19,32($17) \n\ 88503793b1SChristoph Hellwig xor $23,$24,$23 \n\ 89503793b1SChristoph Hellwig \n\ 90503793b1SChristoph Hellwig stq $21,40($17) \n\ 91503793b1SChristoph Hellwig xor $25,$27,$25 \n\ 92503793b1SChristoph Hellwig stq $23,48($17) \n\ 93503793b1SChristoph Hellwig subq $16,1,$16 \n\ 94503793b1SChristoph Hellwig \n\ 95503793b1SChristoph Hellwig stq $25,56($17) \n\ 96503793b1SChristoph Hellwig addq $17,64,$17 \n\ 97503793b1SChristoph Hellwig addq $18,64,$18 \n\ 98503793b1SChristoph Hellwig bgt $16,2b \n\ 99503793b1SChristoph Hellwig \n\ 100503793b1SChristoph Hellwig ret \n\ 101503793b1SChristoph Hellwig .end xor_alpha_2 \n\ 102503793b1SChristoph Hellwig \n\ 103503793b1SChristoph Hellwig .align 3 \n\ 104503793b1SChristoph Hellwig .ent xor_alpha_3 \n\ 105503793b1SChristoph Hellwig xor_alpha_3: \n\ 106503793b1SChristoph Hellwig .prologue 0 \n\ 107503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 108503793b1SChristoph Hellwig .align 4 \n\ 109503793b1SChristoph Hellwig 3: \n\ 110503793b1SChristoph Hellwig ldq $0,0($17) \n\ 111503793b1SChristoph Hellwig ldq $1,0($18) \n\ 112503793b1SChristoph Hellwig ldq $2,0($19) \n\ 113503793b1SChristoph Hellwig ldq $3,8($17) \n\ 114503793b1SChristoph Hellwig \n\ 115503793b1SChristoph Hellwig ldq $4,8($18) \n\ 116503793b1SChristoph Hellwig ldq $6,16($17) \n\ 117503793b1SChristoph Hellwig ldq $7,16($18) \n\ 118503793b1SChristoph Hellwig ldq $21,24($17) \n\ 119503793b1SChristoph Hellwig \n\ 120503793b1SChristoph Hellwig ldq $22,24($18) \n\ 121503793b1SChristoph Hellwig ldq $24,32($17) \n\ 122503793b1SChristoph Hellwig ldq $25,32($18) \n\ 123503793b1SChristoph Hellwig ldq $5,8($19) \n\ 124503793b1SChristoph Hellwig \n\ 125503793b1SChristoph Hellwig ldq $20,16($19) \n\ 126503793b1SChristoph Hellwig ldq $23,24($19) \n\ 127503793b1SChristoph Hellwig ldq $27,32($19) \n\ 128503793b1SChristoph Hellwig nop \n\ 129503793b1SChristoph Hellwig \n\ 130503793b1SChristoph Hellwig xor $0,$1,$1 # 8 cycles from $0 load \n\ 131503793b1SChristoph Hellwig xor $3,$4,$4 # 6 cycles from $4 load \n\ 132503793b1SChristoph Hellwig xor $6,$7,$7 # 6 cycles from $7 load \n\ 133503793b1SChristoph Hellwig xor $21,$22,$22 # 5 cycles from $22 load \n\ 134503793b1SChristoph Hellwig \n\ 135503793b1SChristoph Hellwig xor $1,$2,$2 # 9 cycles from $2 load \n\ 136503793b1SChristoph Hellwig xor $24,$25,$25 # 5 cycles from $25 load \n\ 137503793b1SChristoph Hellwig stq $2,0($17) \n\ 138503793b1SChristoph Hellwig xor $4,$5,$5 # 6 cycles from $5 load \n\ 139503793b1SChristoph Hellwig \n\ 140503793b1SChristoph Hellwig stq $5,8($17) \n\ 141503793b1SChristoph Hellwig xor $7,$20,$20 # 7 cycles from $20 load \n\ 142503793b1SChristoph Hellwig stq $20,16($17) \n\ 143503793b1SChristoph Hellwig xor $22,$23,$23 # 7 cycles from $23 load \n\ 144503793b1SChristoph Hellwig \n\ 145503793b1SChristoph Hellwig stq $23,24($17) \n\ 146503793b1SChristoph Hellwig xor $25,$27,$27 # 7 cycles from $27 load \n\ 147503793b1SChristoph Hellwig stq $27,32($17) \n\ 148503793b1SChristoph Hellwig nop \n\ 149503793b1SChristoph Hellwig \n\ 150503793b1SChristoph Hellwig ldq $0,40($17) \n\ 151503793b1SChristoph Hellwig ldq $1,40($18) \n\ 152503793b1SChristoph Hellwig ldq $3,48($17) \n\ 153503793b1SChristoph Hellwig ldq $4,48($18) \n\ 154503793b1SChristoph Hellwig \n\ 155503793b1SChristoph Hellwig ldq $6,56($17) \n\ 156503793b1SChristoph Hellwig ldq $7,56($18) \n\ 157503793b1SChristoph Hellwig ldq $2,40($19) \n\ 158503793b1SChristoph Hellwig ldq $5,48($19) \n\ 159503793b1SChristoph Hellwig \n\ 160503793b1SChristoph Hellwig ldq $20,56($19) \n\ 161503793b1SChristoph Hellwig xor $0,$1,$1 # 4 cycles from $1 load \n\ 162503793b1SChristoph Hellwig xor $3,$4,$4 # 5 cycles from $4 load \n\ 163503793b1SChristoph Hellwig xor $6,$7,$7 # 5 cycles from $7 load \n\ 164503793b1SChristoph Hellwig \n\ 165503793b1SChristoph Hellwig xor $1,$2,$2 # 4 cycles from $2 load \n\ 166503793b1SChristoph Hellwig xor $4,$5,$5 # 5 cycles from $5 load \n\ 167503793b1SChristoph Hellwig stq $2,40($17) \n\ 168503793b1SChristoph Hellwig xor $7,$20,$20 # 4 cycles from $20 load \n\ 169503793b1SChristoph Hellwig \n\ 170503793b1SChristoph Hellwig stq $5,48($17) \n\ 171503793b1SChristoph Hellwig subq $16,1,$16 \n\ 172503793b1SChristoph Hellwig stq $20,56($17) \n\ 173503793b1SChristoph Hellwig addq $19,64,$19 \n\ 174503793b1SChristoph Hellwig \n\ 175503793b1SChristoph Hellwig addq $18,64,$18 \n\ 176503793b1SChristoph Hellwig addq $17,64,$17 \n\ 177503793b1SChristoph Hellwig bgt $16,3b \n\ 178503793b1SChristoph Hellwig ret \n\ 179503793b1SChristoph Hellwig .end xor_alpha_3 \n\ 180503793b1SChristoph Hellwig \n\ 181503793b1SChristoph Hellwig .align 3 \n\ 182503793b1SChristoph Hellwig .ent xor_alpha_4 \n\ 183503793b1SChristoph Hellwig xor_alpha_4: \n\ 184503793b1SChristoph Hellwig .prologue 0 \n\ 185503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 186503793b1SChristoph Hellwig .align 4 \n\ 187503793b1SChristoph Hellwig 4: \n\ 188503793b1SChristoph Hellwig ldq $0,0($17) \n\ 189503793b1SChristoph Hellwig ldq $1,0($18) \n\ 190503793b1SChristoph Hellwig ldq $2,0($19) \n\ 191503793b1SChristoph Hellwig ldq $3,0($20) \n\ 192503793b1SChristoph Hellwig \n\ 193503793b1SChristoph Hellwig ldq $4,8($17) \n\ 194503793b1SChristoph Hellwig ldq $5,8($18) \n\ 195503793b1SChristoph Hellwig ldq $6,8($19) \n\ 196503793b1SChristoph Hellwig ldq $7,8($20) \n\ 197503793b1SChristoph Hellwig \n\ 198503793b1SChristoph Hellwig ldq $21,16($17) \n\ 199503793b1SChristoph Hellwig ldq $22,16($18) \n\ 200503793b1SChristoph Hellwig ldq $23,16($19) \n\ 201503793b1SChristoph Hellwig ldq $24,16($20) \n\ 202503793b1SChristoph Hellwig \n\ 203503793b1SChristoph Hellwig ldq $25,24($17) \n\ 204503793b1SChristoph Hellwig xor $0,$1,$1 # 6 cycles from $1 load \n\ 205503793b1SChristoph Hellwig ldq $27,24($18) \n\ 206503793b1SChristoph Hellwig xor $2,$3,$3 # 6 cycles from $3 load \n\ 207503793b1SChristoph Hellwig \n\ 208503793b1SChristoph Hellwig ldq $0,24($19) \n\ 209503793b1SChristoph Hellwig xor $1,$3,$3 \n\ 210503793b1SChristoph Hellwig ldq $1,24($20) \n\ 211503793b1SChristoph Hellwig xor $4,$5,$5 # 7 cycles from $5 load \n\ 212503793b1SChristoph Hellwig \n\ 213503793b1SChristoph Hellwig stq $3,0($17) \n\ 214503793b1SChristoph Hellwig xor $6,$7,$7 \n\ 215503793b1SChristoph Hellwig xor $21,$22,$22 # 7 cycles from $22 load \n\ 216503793b1SChristoph Hellwig xor $5,$7,$7 \n\ 217503793b1SChristoph Hellwig \n\ 218503793b1SChristoph Hellwig stq $7,8($17) \n\ 219503793b1SChristoph Hellwig xor $23,$24,$24 # 7 cycles from $24 load \n\ 220503793b1SChristoph Hellwig ldq $2,32($17) \n\ 221503793b1SChristoph Hellwig xor $22,$24,$24 \n\ 222503793b1SChristoph Hellwig \n\ 223503793b1SChristoph Hellwig ldq $3,32($18) \n\ 224503793b1SChristoph Hellwig ldq $4,32($19) \n\ 225503793b1SChristoph Hellwig ldq $5,32($20) \n\ 226503793b1SChristoph Hellwig xor $25,$27,$27 # 8 cycles from $27 load \n\ 227503793b1SChristoph Hellwig \n\ 228503793b1SChristoph Hellwig ldq $6,40($17) \n\ 229503793b1SChristoph Hellwig ldq $7,40($18) \n\ 230503793b1SChristoph Hellwig ldq $21,40($19) \n\ 231503793b1SChristoph Hellwig ldq $22,40($20) \n\ 232503793b1SChristoph Hellwig \n\ 233503793b1SChristoph Hellwig stq $24,16($17) \n\ 234503793b1SChristoph Hellwig xor $0,$1,$1 # 9 cycles from $1 load \n\ 235503793b1SChristoph Hellwig xor $2,$3,$3 # 5 cycles from $3 load \n\ 236503793b1SChristoph Hellwig xor $27,$1,$1 \n\ 237503793b1SChristoph Hellwig \n\ 238503793b1SChristoph Hellwig stq $1,24($17) \n\ 239503793b1SChristoph Hellwig xor $4,$5,$5 # 5 cycles from $5 load \n\ 240503793b1SChristoph Hellwig ldq $23,48($17) \n\ 241503793b1SChristoph Hellwig ldq $24,48($18) \n\ 242503793b1SChristoph Hellwig \n\ 243503793b1SChristoph Hellwig ldq $25,48($19) \n\ 244503793b1SChristoph Hellwig xor $3,$5,$5 \n\ 245503793b1SChristoph Hellwig ldq $27,48($20) \n\ 246503793b1SChristoph Hellwig ldq $0,56($17) \n\ 247503793b1SChristoph Hellwig \n\ 248503793b1SChristoph Hellwig ldq $1,56($18) \n\ 249503793b1SChristoph Hellwig ldq $2,56($19) \n\ 250503793b1SChristoph Hellwig xor $6,$7,$7 # 8 cycles from $6 load \n\ 251503793b1SChristoph Hellwig ldq $3,56($20) \n\ 252503793b1SChristoph Hellwig \n\ 253503793b1SChristoph Hellwig stq $5,32($17) \n\ 254503793b1SChristoph Hellwig xor $21,$22,$22 # 8 cycles from $22 load \n\ 255503793b1SChristoph Hellwig xor $7,$22,$22 \n\ 256503793b1SChristoph Hellwig xor $23,$24,$24 # 5 cycles from $24 load \n\ 257503793b1SChristoph Hellwig \n\ 258503793b1SChristoph Hellwig stq $22,40($17) \n\ 259503793b1SChristoph Hellwig xor $25,$27,$27 # 5 cycles from $27 load \n\ 260503793b1SChristoph Hellwig xor $24,$27,$27 \n\ 261503793b1SChristoph Hellwig xor $0,$1,$1 # 5 cycles from $1 load \n\ 262503793b1SChristoph Hellwig \n\ 263503793b1SChristoph Hellwig stq $27,48($17) \n\ 264503793b1SChristoph Hellwig xor $2,$3,$3 # 4 cycles from $3 load \n\ 265503793b1SChristoph Hellwig xor $1,$3,$3 \n\ 266503793b1SChristoph Hellwig subq $16,1,$16 \n\ 267503793b1SChristoph Hellwig \n\ 268503793b1SChristoph Hellwig stq $3,56($17) \n\ 269503793b1SChristoph Hellwig addq $20,64,$20 \n\ 270503793b1SChristoph Hellwig addq $19,64,$19 \n\ 271503793b1SChristoph Hellwig addq $18,64,$18 \n\ 272503793b1SChristoph Hellwig \n\ 273503793b1SChristoph Hellwig addq $17,64,$17 \n\ 274503793b1SChristoph Hellwig bgt $16,4b \n\ 275503793b1SChristoph Hellwig ret \n\ 276503793b1SChristoph Hellwig .end xor_alpha_4 \n\ 277503793b1SChristoph Hellwig \n\ 278503793b1SChristoph Hellwig .align 3 \n\ 279503793b1SChristoph Hellwig .ent xor_alpha_5 \n\ 280503793b1SChristoph Hellwig xor_alpha_5: \n\ 281503793b1SChristoph Hellwig .prologue 0 \n\ 282503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 283503793b1SChristoph Hellwig .align 4 \n\ 284503793b1SChristoph Hellwig 5: \n\ 285503793b1SChristoph Hellwig ldq $0,0($17) \n\ 286503793b1SChristoph Hellwig ldq $1,0($18) \n\ 287503793b1SChristoph Hellwig ldq $2,0($19) \n\ 288503793b1SChristoph Hellwig ldq $3,0($20) \n\ 289503793b1SChristoph Hellwig \n\ 290503793b1SChristoph Hellwig ldq $4,0($21) \n\ 291503793b1SChristoph Hellwig ldq $5,8($17) \n\ 292503793b1SChristoph Hellwig ldq $6,8($18) \n\ 293503793b1SChristoph Hellwig ldq $7,8($19) \n\ 294503793b1SChristoph Hellwig \n\ 295503793b1SChristoph Hellwig ldq $22,8($20) \n\ 296503793b1SChristoph Hellwig ldq $23,8($21) \n\ 297503793b1SChristoph Hellwig ldq $24,16($17) \n\ 298503793b1SChristoph Hellwig ldq $25,16($18) \n\ 299503793b1SChristoph Hellwig \n\ 300503793b1SChristoph Hellwig ldq $27,16($19) \n\ 301503793b1SChristoph Hellwig xor $0,$1,$1 # 6 cycles from $1 load \n\ 302503793b1SChristoph Hellwig ldq $28,16($20) \n\ 303503793b1SChristoph Hellwig xor $2,$3,$3 # 6 cycles from $3 load \n\ 304503793b1SChristoph Hellwig \n\ 305503793b1SChristoph Hellwig ldq $0,16($21) \n\ 306503793b1SChristoph Hellwig xor $1,$3,$3 \n\ 307503793b1SChristoph Hellwig ldq $1,24($17) \n\ 308503793b1SChristoph Hellwig xor $3,$4,$4 # 7 cycles from $4 load \n\ 309503793b1SChristoph Hellwig \n\ 310503793b1SChristoph Hellwig stq $4,0($17) \n\ 311503793b1SChristoph Hellwig xor $5,$6,$6 # 7 cycles from $6 load \n\ 312503793b1SChristoph Hellwig xor $7,$22,$22 # 7 cycles from $22 load \n\ 313503793b1SChristoph Hellwig xor $6,$23,$23 # 7 cycles from $23 load \n\ 314503793b1SChristoph Hellwig \n\ 315503793b1SChristoph Hellwig ldq $2,24($18) \n\ 316503793b1SChristoph Hellwig xor $22,$23,$23 \n\ 317503793b1SChristoph Hellwig ldq $3,24($19) \n\ 318503793b1SChristoph Hellwig xor $24,$25,$25 # 8 cycles from $25 load \n\ 319503793b1SChristoph Hellwig \n\ 320503793b1SChristoph Hellwig stq $23,8($17) \n\ 321503793b1SChristoph Hellwig xor $25,$27,$27 # 8 cycles from $27 load \n\ 322503793b1SChristoph Hellwig ldq $4,24($20) \n\ 323503793b1SChristoph Hellwig xor $28,$0,$0 # 7 cycles from $0 load \n\ 324503793b1SChristoph Hellwig \n\ 325503793b1SChristoph Hellwig ldq $5,24($21) \n\ 326503793b1SChristoph Hellwig xor $27,$0,$0 \n\ 327503793b1SChristoph Hellwig ldq $6,32($17) \n\ 328503793b1SChristoph Hellwig ldq $7,32($18) \n\ 329503793b1SChristoph Hellwig \n\ 330503793b1SChristoph Hellwig stq $0,16($17) \n\ 331503793b1SChristoph Hellwig xor $1,$2,$2 # 6 cycles from $2 load \n\ 332503793b1SChristoph Hellwig ldq $22,32($19) \n\ 333503793b1SChristoph Hellwig xor $3,$4,$4 # 4 cycles from $4 load \n\ 334503793b1SChristoph Hellwig \n\ 335503793b1SChristoph Hellwig ldq $23,32($20) \n\ 336503793b1SChristoph Hellwig xor $2,$4,$4 \n\ 337503793b1SChristoph Hellwig ldq $24,32($21) \n\ 338503793b1SChristoph Hellwig ldq $25,40($17) \n\ 339503793b1SChristoph Hellwig \n\ 340503793b1SChristoph Hellwig ldq $27,40($18) \n\ 341503793b1SChristoph Hellwig ldq $28,40($19) \n\ 342503793b1SChristoph Hellwig ldq $0,40($20) \n\ 343503793b1SChristoph Hellwig xor $4,$5,$5 # 7 cycles from $5 load \n\ 344503793b1SChristoph Hellwig \n\ 345503793b1SChristoph Hellwig stq $5,24($17) \n\ 346503793b1SChristoph Hellwig xor $6,$7,$7 # 7 cycles from $7 load \n\ 347503793b1SChristoph Hellwig ldq $1,40($21) \n\ 348503793b1SChristoph Hellwig ldq $2,48($17) \n\ 349503793b1SChristoph Hellwig \n\ 350503793b1SChristoph Hellwig ldq $3,48($18) \n\ 351503793b1SChristoph Hellwig xor $7,$22,$22 # 7 cycles from $22 load \n\ 352503793b1SChristoph Hellwig ldq $4,48($19) \n\ 353503793b1SChristoph Hellwig xor $23,$24,$24 # 6 cycles from $24 load \n\ 354503793b1SChristoph Hellwig \n\ 355503793b1SChristoph Hellwig ldq $5,48($20) \n\ 356503793b1SChristoph Hellwig xor $22,$24,$24 \n\ 357503793b1SChristoph Hellwig ldq $6,48($21) \n\ 358503793b1SChristoph Hellwig xor $25,$27,$27 # 7 cycles from $27 load \n\ 359503793b1SChristoph Hellwig \n\ 360503793b1SChristoph Hellwig stq $24,32($17) \n\ 361503793b1SChristoph Hellwig xor $27,$28,$28 # 8 cycles from $28 load \n\ 362503793b1SChristoph Hellwig ldq $7,56($17) \n\ 363503793b1SChristoph Hellwig xor $0,$1,$1 # 6 cycles from $1 load \n\ 364503793b1SChristoph Hellwig \n\ 365503793b1SChristoph Hellwig ldq $22,56($18) \n\ 366503793b1SChristoph Hellwig ldq $23,56($19) \n\ 367503793b1SChristoph Hellwig ldq $24,56($20) \n\ 368503793b1SChristoph Hellwig ldq $25,56($21) \n\ 369503793b1SChristoph Hellwig \n\ 370503793b1SChristoph Hellwig xor $28,$1,$1 \n\ 371503793b1SChristoph Hellwig xor $2,$3,$3 # 9 cycles from $3 load \n\ 372503793b1SChristoph Hellwig xor $3,$4,$4 # 9 cycles from $4 load \n\ 373503793b1SChristoph Hellwig xor $5,$6,$6 # 8 cycles from $6 load \n\ 374503793b1SChristoph Hellwig \n\ 375503793b1SChristoph Hellwig stq $1,40($17) \n\ 376503793b1SChristoph Hellwig xor $4,$6,$6 \n\ 377503793b1SChristoph Hellwig xor $7,$22,$22 # 7 cycles from $22 load \n\ 378503793b1SChristoph Hellwig xor $23,$24,$24 # 6 cycles from $24 load \n\ 379503793b1SChristoph Hellwig \n\ 380503793b1SChristoph Hellwig stq $6,48($17) \n\ 381503793b1SChristoph Hellwig xor $22,$24,$24 \n\ 382503793b1SChristoph Hellwig subq $16,1,$16 \n\ 383503793b1SChristoph Hellwig xor $24,$25,$25 # 8 cycles from $25 load \n\ 384503793b1SChristoph Hellwig \n\ 385503793b1SChristoph Hellwig stq $25,56($17) \n\ 386503793b1SChristoph Hellwig addq $21,64,$21 \n\ 387503793b1SChristoph Hellwig addq $20,64,$20 \n\ 388503793b1SChristoph Hellwig addq $19,64,$19 \n\ 389503793b1SChristoph Hellwig \n\ 390503793b1SChristoph Hellwig addq $18,64,$18 \n\ 391503793b1SChristoph Hellwig addq $17,64,$17 \n\ 392503793b1SChristoph Hellwig bgt $16,5b \n\ 393503793b1SChristoph Hellwig ret \n\ 394503793b1SChristoph Hellwig .end xor_alpha_5 \n\ 395503793b1SChristoph Hellwig \n\ 396503793b1SChristoph Hellwig .align 3 \n\ 397503793b1SChristoph Hellwig .ent xor_alpha_prefetch_2 \n\ 398503793b1SChristoph Hellwig xor_alpha_prefetch_2: \n\ 399503793b1SChristoph Hellwig .prologue 0 \n\ 400503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 401503793b1SChristoph Hellwig \n\ 402503793b1SChristoph Hellwig ldq $31, 0($17) \n\ 403503793b1SChristoph Hellwig ldq $31, 0($18) \n\ 404503793b1SChristoph Hellwig \n\ 405503793b1SChristoph Hellwig ldq $31, 64($17) \n\ 406503793b1SChristoph Hellwig ldq $31, 64($18) \n\ 407503793b1SChristoph Hellwig \n\ 408503793b1SChristoph Hellwig ldq $31, 128($17) \n\ 409503793b1SChristoph Hellwig ldq $31, 128($18) \n\ 410503793b1SChristoph Hellwig \n\ 411503793b1SChristoph Hellwig ldq $31, 192($17) \n\ 412503793b1SChristoph Hellwig ldq $31, 192($18) \n\ 413503793b1SChristoph Hellwig .align 4 \n\ 414503793b1SChristoph Hellwig 2: \n\ 415503793b1SChristoph Hellwig ldq $0,0($17) \n\ 416503793b1SChristoph Hellwig ldq $1,0($18) \n\ 417503793b1SChristoph Hellwig ldq $2,8($17) \n\ 418503793b1SChristoph Hellwig ldq $3,8($18) \n\ 419503793b1SChristoph Hellwig \n\ 420503793b1SChristoph Hellwig ldq $4,16($17) \n\ 421503793b1SChristoph Hellwig ldq $5,16($18) \n\ 422503793b1SChristoph Hellwig ldq $6,24($17) \n\ 423503793b1SChristoph Hellwig ldq $7,24($18) \n\ 424503793b1SChristoph Hellwig \n\ 425503793b1SChristoph Hellwig ldq $19,32($17) \n\ 426503793b1SChristoph Hellwig ldq $20,32($18) \n\ 427503793b1SChristoph Hellwig ldq $21,40($17) \n\ 428503793b1SChristoph Hellwig ldq $22,40($18) \n\ 429503793b1SChristoph Hellwig \n\ 430503793b1SChristoph Hellwig ldq $23,48($17) \n\ 431503793b1SChristoph Hellwig ldq $24,48($18) \n\ 432503793b1SChristoph Hellwig ldq $25,56($17) \n\ 433503793b1SChristoph Hellwig ldq $27,56($18) \n\ 434503793b1SChristoph Hellwig \n\ 435503793b1SChristoph Hellwig ldq $31,256($17) \n\ 436503793b1SChristoph Hellwig xor $0,$1,$0 # 8 cycles from $1 load \n\ 437503793b1SChristoph Hellwig ldq $31,256($18) \n\ 438503793b1SChristoph Hellwig xor $2,$3,$2 \n\ 439503793b1SChristoph Hellwig \n\ 440503793b1SChristoph Hellwig stq $0,0($17) \n\ 441503793b1SChristoph Hellwig xor $4,$5,$4 \n\ 442503793b1SChristoph Hellwig stq $2,8($17) \n\ 443503793b1SChristoph Hellwig xor $6,$7,$6 \n\ 444503793b1SChristoph Hellwig \n\ 445503793b1SChristoph Hellwig stq $4,16($17) \n\ 446503793b1SChristoph Hellwig xor $19,$20,$19 \n\ 447503793b1SChristoph Hellwig stq $6,24($17) \n\ 448503793b1SChristoph Hellwig xor $21,$22,$21 \n\ 449503793b1SChristoph Hellwig \n\ 450503793b1SChristoph Hellwig stq $19,32($17) \n\ 451503793b1SChristoph Hellwig xor $23,$24,$23 \n\ 452503793b1SChristoph Hellwig stq $21,40($17) \n\ 453503793b1SChristoph Hellwig xor $25,$27,$25 \n\ 454503793b1SChristoph Hellwig \n\ 455503793b1SChristoph Hellwig stq $23,48($17) \n\ 456503793b1SChristoph Hellwig subq $16,1,$16 \n\ 457503793b1SChristoph Hellwig stq $25,56($17) \n\ 458503793b1SChristoph Hellwig addq $17,64,$17 \n\ 459503793b1SChristoph Hellwig \n\ 460503793b1SChristoph Hellwig addq $18,64,$18 \n\ 461503793b1SChristoph Hellwig bgt $16,2b \n\ 462503793b1SChristoph Hellwig ret \n\ 463503793b1SChristoph Hellwig .end xor_alpha_prefetch_2 \n\ 464503793b1SChristoph Hellwig \n\ 465503793b1SChristoph Hellwig .align 3 \n\ 466503793b1SChristoph Hellwig .ent xor_alpha_prefetch_3 \n\ 467503793b1SChristoph Hellwig xor_alpha_prefetch_3: \n\ 468503793b1SChristoph Hellwig .prologue 0 \n\ 469503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 470503793b1SChristoph Hellwig \n\ 471503793b1SChristoph Hellwig ldq $31, 0($17) \n\ 472503793b1SChristoph Hellwig ldq $31, 0($18) \n\ 473503793b1SChristoph Hellwig ldq $31, 0($19) \n\ 474503793b1SChristoph Hellwig \n\ 475503793b1SChristoph Hellwig ldq $31, 64($17) \n\ 476503793b1SChristoph Hellwig ldq $31, 64($18) \n\ 477503793b1SChristoph Hellwig ldq $31, 64($19) \n\ 478503793b1SChristoph Hellwig \n\ 479503793b1SChristoph Hellwig ldq $31, 128($17) \n\ 480503793b1SChristoph Hellwig ldq $31, 128($18) \n\ 481503793b1SChristoph Hellwig ldq $31, 128($19) \n\ 482503793b1SChristoph Hellwig \n\ 483503793b1SChristoph Hellwig ldq $31, 192($17) \n\ 484503793b1SChristoph Hellwig ldq $31, 192($18) \n\ 485503793b1SChristoph Hellwig ldq $31, 192($19) \n\ 486503793b1SChristoph Hellwig .align 4 \n\ 487503793b1SChristoph Hellwig 3: \n\ 488503793b1SChristoph Hellwig ldq $0,0($17) \n\ 489503793b1SChristoph Hellwig ldq $1,0($18) \n\ 490503793b1SChristoph Hellwig ldq $2,0($19) \n\ 491503793b1SChristoph Hellwig ldq $3,8($17) \n\ 492503793b1SChristoph Hellwig \n\ 493503793b1SChristoph Hellwig ldq $4,8($18) \n\ 494503793b1SChristoph Hellwig ldq $6,16($17) \n\ 495503793b1SChristoph Hellwig ldq $7,16($18) \n\ 496503793b1SChristoph Hellwig ldq $21,24($17) \n\ 497503793b1SChristoph Hellwig \n\ 498503793b1SChristoph Hellwig ldq $22,24($18) \n\ 499503793b1SChristoph Hellwig ldq $24,32($17) \n\ 500503793b1SChristoph Hellwig ldq $25,32($18) \n\ 501503793b1SChristoph Hellwig ldq $5,8($19) \n\ 502503793b1SChristoph Hellwig \n\ 503503793b1SChristoph Hellwig ldq $20,16($19) \n\ 504503793b1SChristoph Hellwig ldq $23,24($19) \n\ 505503793b1SChristoph Hellwig ldq $27,32($19) \n\ 506503793b1SChristoph Hellwig nop \n\ 507503793b1SChristoph Hellwig \n\ 508503793b1SChristoph Hellwig xor $0,$1,$1 # 8 cycles from $0 load \n\ 509503793b1SChristoph Hellwig xor $3,$4,$4 # 7 cycles from $4 load \n\ 510503793b1SChristoph Hellwig xor $6,$7,$7 # 6 cycles from $7 load \n\ 511503793b1SChristoph Hellwig xor $21,$22,$22 # 5 cycles from $22 load \n\ 512503793b1SChristoph Hellwig \n\ 513503793b1SChristoph Hellwig xor $1,$2,$2 # 9 cycles from $2 load \n\ 514503793b1SChristoph Hellwig xor $24,$25,$25 # 5 cycles from $25 load \n\ 515503793b1SChristoph Hellwig stq $2,0($17) \n\ 516503793b1SChristoph Hellwig xor $4,$5,$5 # 6 cycles from $5 load \n\ 517503793b1SChristoph Hellwig \n\ 518503793b1SChristoph Hellwig stq $5,8($17) \n\ 519503793b1SChristoph Hellwig xor $7,$20,$20 # 7 cycles from $20 load \n\ 520503793b1SChristoph Hellwig stq $20,16($17) \n\ 521503793b1SChristoph Hellwig xor $22,$23,$23 # 7 cycles from $23 load \n\ 522503793b1SChristoph Hellwig \n\ 523503793b1SChristoph Hellwig stq $23,24($17) \n\ 524503793b1SChristoph Hellwig xor $25,$27,$27 # 7 cycles from $27 load \n\ 525503793b1SChristoph Hellwig stq $27,32($17) \n\ 526503793b1SChristoph Hellwig nop \n\ 527503793b1SChristoph Hellwig \n\ 528503793b1SChristoph Hellwig ldq $0,40($17) \n\ 529503793b1SChristoph Hellwig ldq $1,40($18) \n\ 530503793b1SChristoph Hellwig ldq $3,48($17) \n\ 531503793b1SChristoph Hellwig ldq $4,48($18) \n\ 532503793b1SChristoph Hellwig \n\ 533503793b1SChristoph Hellwig ldq $6,56($17) \n\ 534503793b1SChristoph Hellwig ldq $7,56($18) \n\ 535503793b1SChristoph Hellwig ldq $2,40($19) \n\ 536503793b1SChristoph Hellwig ldq $5,48($19) \n\ 537503793b1SChristoph Hellwig \n\ 538503793b1SChristoph Hellwig ldq $20,56($19) \n\ 539503793b1SChristoph Hellwig ldq $31,256($17) \n\ 540503793b1SChristoph Hellwig ldq $31,256($18) \n\ 541503793b1SChristoph Hellwig ldq $31,256($19) \n\ 542503793b1SChristoph Hellwig \n\ 543503793b1SChristoph Hellwig xor $0,$1,$1 # 6 cycles from $1 load \n\ 544503793b1SChristoph Hellwig xor $3,$4,$4 # 5 cycles from $4 load \n\ 545503793b1SChristoph Hellwig xor $6,$7,$7 # 5 cycles from $7 load \n\ 546503793b1SChristoph Hellwig xor $1,$2,$2 # 4 cycles from $2 load \n\ 547503793b1SChristoph Hellwig \n\ 548503793b1SChristoph Hellwig xor $4,$5,$5 # 5 cycles from $5 load \n\ 549503793b1SChristoph Hellwig xor $7,$20,$20 # 4 cycles from $20 load \n\ 550503793b1SChristoph Hellwig stq $2,40($17) \n\ 551503793b1SChristoph Hellwig subq $16,1,$16 \n\ 552503793b1SChristoph Hellwig \n\ 553503793b1SChristoph Hellwig stq $5,48($17) \n\ 554503793b1SChristoph Hellwig addq $19,64,$19 \n\ 555503793b1SChristoph Hellwig stq $20,56($17) \n\ 556503793b1SChristoph Hellwig addq $18,64,$18 \n\ 557503793b1SChristoph Hellwig \n\ 558503793b1SChristoph Hellwig addq $17,64,$17 \n\ 559503793b1SChristoph Hellwig bgt $16,3b \n\ 560503793b1SChristoph Hellwig ret \n\ 561503793b1SChristoph Hellwig .end xor_alpha_prefetch_3 \n\ 562503793b1SChristoph Hellwig \n\ 563503793b1SChristoph Hellwig .align 3 \n\ 564503793b1SChristoph Hellwig .ent xor_alpha_prefetch_4 \n\ 565503793b1SChristoph Hellwig xor_alpha_prefetch_4: \n\ 566503793b1SChristoph Hellwig .prologue 0 \n\ 567503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 568503793b1SChristoph Hellwig \n\ 569503793b1SChristoph Hellwig ldq $31, 0($17) \n\ 570503793b1SChristoph Hellwig ldq $31, 0($18) \n\ 571503793b1SChristoph Hellwig ldq $31, 0($19) \n\ 572503793b1SChristoph Hellwig ldq $31, 0($20) \n\ 573503793b1SChristoph Hellwig \n\ 574503793b1SChristoph Hellwig ldq $31, 64($17) \n\ 575503793b1SChristoph Hellwig ldq $31, 64($18) \n\ 576503793b1SChristoph Hellwig ldq $31, 64($19) \n\ 577503793b1SChristoph Hellwig ldq $31, 64($20) \n\ 578503793b1SChristoph Hellwig \n\ 579503793b1SChristoph Hellwig ldq $31, 128($17) \n\ 580503793b1SChristoph Hellwig ldq $31, 128($18) \n\ 581503793b1SChristoph Hellwig ldq $31, 128($19) \n\ 582503793b1SChristoph Hellwig ldq $31, 128($20) \n\ 583503793b1SChristoph Hellwig \n\ 584503793b1SChristoph Hellwig ldq $31, 192($17) \n\ 585503793b1SChristoph Hellwig ldq $31, 192($18) \n\ 586503793b1SChristoph Hellwig ldq $31, 192($19) \n\ 587503793b1SChristoph Hellwig ldq $31, 192($20) \n\ 588503793b1SChristoph Hellwig .align 4 \n\ 589503793b1SChristoph Hellwig 4: \n\ 590503793b1SChristoph Hellwig ldq $0,0($17) \n\ 591503793b1SChristoph Hellwig ldq $1,0($18) \n\ 592503793b1SChristoph Hellwig ldq $2,0($19) \n\ 593503793b1SChristoph Hellwig ldq $3,0($20) \n\ 594503793b1SChristoph Hellwig \n\ 595503793b1SChristoph Hellwig ldq $4,8($17) \n\ 596503793b1SChristoph Hellwig ldq $5,8($18) \n\ 597503793b1SChristoph Hellwig ldq $6,8($19) \n\ 598503793b1SChristoph Hellwig ldq $7,8($20) \n\ 599503793b1SChristoph Hellwig \n\ 600503793b1SChristoph Hellwig ldq $21,16($17) \n\ 601503793b1SChristoph Hellwig ldq $22,16($18) \n\ 602503793b1SChristoph Hellwig ldq $23,16($19) \n\ 603503793b1SChristoph Hellwig ldq $24,16($20) \n\ 604503793b1SChristoph Hellwig \n\ 605503793b1SChristoph Hellwig ldq $25,24($17) \n\ 606503793b1SChristoph Hellwig xor $0,$1,$1 # 6 cycles from $1 load \n\ 607503793b1SChristoph Hellwig ldq $27,24($18) \n\ 608503793b1SChristoph Hellwig xor $2,$3,$3 # 6 cycles from $3 load \n\ 609503793b1SChristoph Hellwig \n\ 610503793b1SChristoph Hellwig ldq $0,24($19) \n\ 611503793b1SChristoph Hellwig xor $1,$3,$3 \n\ 612503793b1SChristoph Hellwig ldq $1,24($20) \n\ 613503793b1SChristoph Hellwig xor $4,$5,$5 # 7 cycles from $5 load \n\ 614503793b1SChristoph Hellwig \n\ 615503793b1SChristoph Hellwig stq $3,0($17) \n\ 616503793b1SChristoph Hellwig xor $6,$7,$7 \n\ 617503793b1SChristoph Hellwig xor $21,$22,$22 # 7 cycles from $22 load \n\ 618503793b1SChristoph Hellwig xor $5,$7,$7 \n\ 619503793b1SChristoph Hellwig \n\ 620503793b1SChristoph Hellwig stq $7,8($17) \n\ 621503793b1SChristoph Hellwig xor $23,$24,$24 # 7 cycles from $24 load \n\ 622503793b1SChristoph Hellwig ldq $2,32($17) \n\ 623503793b1SChristoph Hellwig xor $22,$24,$24 \n\ 624503793b1SChristoph Hellwig \n\ 625503793b1SChristoph Hellwig ldq $3,32($18) \n\ 626503793b1SChristoph Hellwig ldq $4,32($19) \n\ 627503793b1SChristoph Hellwig ldq $5,32($20) \n\ 628503793b1SChristoph Hellwig xor $25,$27,$27 # 8 cycles from $27 load \n\ 629503793b1SChristoph Hellwig \n\ 630503793b1SChristoph Hellwig ldq $6,40($17) \n\ 631503793b1SChristoph Hellwig ldq $7,40($18) \n\ 632503793b1SChristoph Hellwig ldq $21,40($19) \n\ 633503793b1SChristoph Hellwig ldq $22,40($20) \n\ 634503793b1SChristoph Hellwig \n\ 635503793b1SChristoph Hellwig stq $24,16($17) \n\ 636503793b1SChristoph Hellwig xor $0,$1,$1 # 9 cycles from $1 load \n\ 637503793b1SChristoph Hellwig xor $2,$3,$3 # 5 cycles from $3 load \n\ 638503793b1SChristoph Hellwig xor $27,$1,$1 \n\ 639503793b1SChristoph Hellwig \n\ 640503793b1SChristoph Hellwig stq $1,24($17) \n\ 641503793b1SChristoph Hellwig xor $4,$5,$5 # 5 cycles from $5 load \n\ 642503793b1SChristoph Hellwig ldq $23,48($17) \n\ 643503793b1SChristoph Hellwig xor $3,$5,$5 \n\ 644503793b1SChristoph Hellwig \n\ 645503793b1SChristoph Hellwig ldq $24,48($18) \n\ 646503793b1SChristoph Hellwig ldq $25,48($19) \n\ 647503793b1SChristoph Hellwig ldq $27,48($20) \n\ 648503793b1SChristoph Hellwig ldq $0,56($17) \n\ 649503793b1SChristoph Hellwig \n\ 650503793b1SChristoph Hellwig ldq $1,56($18) \n\ 651503793b1SChristoph Hellwig ldq $2,56($19) \n\ 652503793b1SChristoph Hellwig ldq $3,56($20) \n\ 653503793b1SChristoph Hellwig xor $6,$7,$7 # 8 cycles from $6 load \n\ 654503793b1SChristoph Hellwig \n\ 655503793b1SChristoph Hellwig ldq $31,256($17) \n\ 656503793b1SChristoph Hellwig xor $21,$22,$22 # 8 cycles from $22 load \n\ 657503793b1SChristoph Hellwig ldq $31,256($18) \n\ 658503793b1SChristoph Hellwig xor $7,$22,$22 \n\ 659503793b1SChristoph Hellwig \n\ 660503793b1SChristoph Hellwig ldq $31,256($19) \n\ 661503793b1SChristoph Hellwig xor $23,$24,$24 # 6 cycles from $24 load \n\ 662503793b1SChristoph Hellwig ldq $31,256($20) \n\ 663503793b1SChristoph Hellwig xor $25,$27,$27 # 6 cycles from $27 load \n\ 664503793b1SChristoph Hellwig \n\ 665503793b1SChristoph Hellwig stq $5,32($17) \n\ 666503793b1SChristoph Hellwig xor $24,$27,$27 \n\ 667503793b1SChristoph Hellwig xor $0,$1,$1 # 7 cycles from $1 load \n\ 668503793b1SChristoph Hellwig xor $2,$3,$3 # 6 cycles from $3 load \n\ 669503793b1SChristoph Hellwig \n\ 670503793b1SChristoph Hellwig stq $22,40($17) \n\ 671503793b1SChristoph Hellwig xor $1,$3,$3 \n\ 672503793b1SChristoph Hellwig stq $27,48($17) \n\ 673503793b1SChristoph Hellwig subq $16,1,$16 \n\ 674503793b1SChristoph Hellwig \n\ 675503793b1SChristoph Hellwig stq $3,56($17) \n\ 676503793b1SChristoph Hellwig addq $20,64,$20 \n\ 677503793b1SChristoph Hellwig addq $19,64,$19 \n\ 678503793b1SChristoph Hellwig addq $18,64,$18 \n\ 679503793b1SChristoph Hellwig \n\ 680503793b1SChristoph Hellwig addq $17,64,$17 \n\ 681503793b1SChristoph Hellwig bgt $16,4b \n\ 682503793b1SChristoph Hellwig ret \n\ 683503793b1SChristoph Hellwig .end xor_alpha_prefetch_4 \n\ 684503793b1SChristoph Hellwig \n\ 685503793b1SChristoph Hellwig .align 3 \n\ 686503793b1SChristoph Hellwig .ent xor_alpha_prefetch_5 \n\ 687503793b1SChristoph Hellwig xor_alpha_prefetch_5: \n\ 688503793b1SChristoph Hellwig .prologue 0 \n\ 689503793b1SChristoph Hellwig srl $16, 6, $16 \n\ 690503793b1SChristoph Hellwig \n\ 691503793b1SChristoph Hellwig ldq $31, 0($17) \n\ 692503793b1SChristoph Hellwig ldq $31, 0($18) \n\ 693503793b1SChristoph Hellwig ldq $31, 0($19) \n\ 694503793b1SChristoph Hellwig ldq $31, 0($20) \n\ 695503793b1SChristoph Hellwig ldq $31, 0($21) \n\ 696503793b1SChristoph Hellwig \n\ 697503793b1SChristoph Hellwig ldq $31, 64($17) \n\ 698503793b1SChristoph Hellwig ldq $31, 64($18) \n\ 699503793b1SChristoph Hellwig ldq $31, 64($19) \n\ 700503793b1SChristoph Hellwig ldq $31, 64($20) \n\ 701503793b1SChristoph Hellwig ldq $31, 64($21) \n\ 702503793b1SChristoph Hellwig \n\ 703503793b1SChristoph Hellwig ldq $31, 128($17) \n\ 704503793b1SChristoph Hellwig ldq $31, 128($18) \n\ 705503793b1SChristoph Hellwig ldq $31, 128($19) \n\ 706503793b1SChristoph Hellwig ldq $31, 128($20) \n\ 707503793b1SChristoph Hellwig ldq $31, 128($21) \n\ 708503793b1SChristoph Hellwig \n\ 709503793b1SChristoph Hellwig ldq $31, 192($17) \n\ 710503793b1SChristoph Hellwig ldq $31, 192($18) \n\ 711503793b1SChristoph Hellwig ldq $31, 192($19) \n\ 712503793b1SChristoph Hellwig ldq $31, 192($20) \n\ 713503793b1SChristoph Hellwig ldq $31, 192($21) \n\ 714503793b1SChristoph Hellwig .align 4 \n\ 715503793b1SChristoph Hellwig 5: \n\ 716503793b1SChristoph Hellwig ldq $0,0($17) \n\ 717503793b1SChristoph Hellwig ldq $1,0($18) \n\ 718503793b1SChristoph Hellwig ldq $2,0($19) \n\ 719503793b1SChristoph Hellwig ldq $3,0($20) \n\ 720503793b1SChristoph Hellwig \n\ 721503793b1SChristoph Hellwig ldq $4,0($21) \n\ 722503793b1SChristoph Hellwig ldq $5,8($17) \n\ 723503793b1SChristoph Hellwig ldq $6,8($18) \n\ 724503793b1SChristoph Hellwig ldq $7,8($19) \n\ 725503793b1SChristoph Hellwig \n\ 726503793b1SChristoph Hellwig ldq $22,8($20) \n\ 727503793b1SChristoph Hellwig ldq $23,8($21) \n\ 728503793b1SChristoph Hellwig ldq $24,16($17) \n\ 729503793b1SChristoph Hellwig ldq $25,16($18) \n\ 730503793b1SChristoph Hellwig \n\ 731503793b1SChristoph Hellwig ldq $27,16($19) \n\ 732503793b1SChristoph Hellwig xor $0,$1,$1 # 6 cycles from $1 load \n\ 733503793b1SChristoph Hellwig ldq $28,16($20) \n\ 734503793b1SChristoph Hellwig xor $2,$3,$3 # 6 cycles from $3 load \n\ 735503793b1SChristoph Hellwig \n\ 736503793b1SChristoph Hellwig ldq $0,16($21) \n\ 737503793b1SChristoph Hellwig xor $1,$3,$3 \n\ 738503793b1SChristoph Hellwig ldq $1,24($17) \n\ 739503793b1SChristoph Hellwig xor $3,$4,$4 # 7 cycles from $4 load \n\ 740503793b1SChristoph Hellwig \n\ 741503793b1SChristoph Hellwig stq $4,0($17) \n\ 742503793b1SChristoph Hellwig xor $5,$6,$6 # 7 cycles from $6 load \n\ 743503793b1SChristoph Hellwig xor $7,$22,$22 # 7 cycles from $22 load \n\ 744503793b1SChristoph Hellwig xor $6,$23,$23 # 7 cycles from $23 load \n\ 745503793b1SChristoph Hellwig \n\ 746503793b1SChristoph Hellwig ldq $2,24($18) \n\ 747503793b1SChristoph Hellwig xor $22,$23,$23 \n\ 748503793b1SChristoph Hellwig ldq $3,24($19) \n\ 749503793b1SChristoph Hellwig xor $24,$25,$25 # 8 cycles from $25 load \n\ 750503793b1SChristoph Hellwig \n\ 751503793b1SChristoph Hellwig stq $23,8($17) \n\ 752503793b1SChristoph Hellwig xor $25,$27,$27 # 8 cycles from $27 load \n\ 753503793b1SChristoph Hellwig ldq $4,24($20) \n\ 754503793b1SChristoph Hellwig xor $28,$0,$0 # 7 cycles from $0 load \n\ 755503793b1SChristoph Hellwig \n\ 756503793b1SChristoph Hellwig ldq $5,24($21) \n\ 757503793b1SChristoph Hellwig xor $27,$0,$0 \n\ 758503793b1SChristoph Hellwig ldq $6,32($17) \n\ 759503793b1SChristoph Hellwig ldq $7,32($18) \n\ 760503793b1SChristoph Hellwig \n\ 761503793b1SChristoph Hellwig stq $0,16($17) \n\ 762503793b1SChristoph Hellwig xor $1,$2,$2 # 6 cycles from $2 load \n\ 763503793b1SChristoph Hellwig ldq $22,32($19) \n\ 764503793b1SChristoph Hellwig xor $3,$4,$4 # 4 cycles from $4 load \n\ 765503793b1SChristoph Hellwig \n\ 766503793b1SChristoph Hellwig ldq $23,32($20) \n\ 767503793b1SChristoph Hellwig xor $2,$4,$4 \n\ 768503793b1SChristoph Hellwig ldq $24,32($21) \n\ 769503793b1SChristoph Hellwig ldq $25,40($17) \n\ 770503793b1SChristoph Hellwig \n\ 771503793b1SChristoph Hellwig ldq $27,40($18) \n\ 772503793b1SChristoph Hellwig ldq $28,40($19) \n\ 773503793b1SChristoph Hellwig ldq $0,40($20) \n\ 774503793b1SChristoph Hellwig xor $4,$5,$5 # 7 cycles from $5 load \n\ 775503793b1SChristoph Hellwig \n\ 776503793b1SChristoph Hellwig stq $5,24($17) \n\ 777503793b1SChristoph Hellwig xor $6,$7,$7 # 7 cycles from $7 load \n\ 778503793b1SChristoph Hellwig ldq $1,40($21) \n\ 779503793b1SChristoph Hellwig ldq $2,48($17) \n\ 780503793b1SChristoph Hellwig \n\ 781503793b1SChristoph Hellwig ldq $3,48($18) \n\ 782503793b1SChristoph Hellwig xor $7,$22,$22 # 7 cycles from $22 load \n\ 783503793b1SChristoph Hellwig ldq $4,48($19) \n\ 784503793b1SChristoph Hellwig xor $23,$24,$24 # 6 cycles from $24 load \n\ 785503793b1SChristoph Hellwig \n\ 786503793b1SChristoph Hellwig ldq $5,48($20) \n\ 787503793b1SChristoph Hellwig xor $22,$24,$24 \n\ 788503793b1SChristoph Hellwig ldq $6,48($21) \n\ 789503793b1SChristoph Hellwig xor $25,$27,$27 # 7 cycles from $27 load \n\ 790503793b1SChristoph Hellwig \n\ 791503793b1SChristoph Hellwig stq $24,32($17) \n\ 792503793b1SChristoph Hellwig xor $27,$28,$28 # 8 cycles from $28 load \n\ 793503793b1SChristoph Hellwig ldq $7,56($17) \n\ 794503793b1SChristoph Hellwig xor $0,$1,$1 # 6 cycles from $1 load \n\ 795503793b1SChristoph Hellwig \n\ 796503793b1SChristoph Hellwig ldq $22,56($18) \n\ 797503793b1SChristoph Hellwig ldq $23,56($19) \n\ 798503793b1SChristoph Hellwig ldq $24,56($20) \n\ 799503793b1SChristoph Hellwig ldq $25,56($21) \n\ 800503793b1SChristoph Hellwig \n\ 801503793b1SChristoph Hellwig ldq $31,256($17) \n\ 802503793b1SChristoph Hellwig xor $28,$1,$1 \n\ 803503793b1SChristoph Hellwig ldq $31,256($18) \n\ 804503793b1SChristoph Hellwig xor $2,$3,$3 # 9 cycles from $3 load \n\ 805503793b1SChristoph Hellwig \n\ 806503793b1SChristoph Hellwig ldq $31,256($19) \n\ 807503793b1SChristoph Hellwig xor $3,$4,$4 # 9 cycles from $4 load \n\ 808503793b1SChristoph Hellwig ldq $31,256($20) \n\ 809503793b1SChristoph Hellwig xor $5,$6,$6 # 8 cycles from $6 load \n\ 810503793b1SChristoph Hellwig \n\ 811503793b1SChristoph Hellwig stq $1,40($17) \n\ 812503793b1SChristoph Hellwig xor $4,$6,$6 \n\ 813503793b1SChristoph Hellwig xor $7,$22,$22 # 7 cycles from $22 load \n\ 814503793b1SChristoph Hellwig xor $23,$24,$24 # 6 cycles from $24 load \n\ 815503793b1SChristoph Hellwig \n\ 816503793b1SChristoph Hellwig stq $6,48($17) \n\ 817503793b1SChristoph Hellwig xor $22,$24,$24 \n\ 818503793b1SChristoph Hellwig ldq $31,256($21) \n\ 819503793b1SChristoph Hellwig xor $24,$25,$25 # 8 cycles from $25 load \n\ 820503793b1SChristoph Hellwig \n\ 821503793b1SChristoph Hellwig stq $25,56($17) \n\ 822503793b1SChristoph Hellwig subq $16,1,$16 \n\ 823503793b1SChristoph Hellwig addq $21,64,$21 \n\ 824503793b1SChristoph Hellwig addq $20,64,$20 \n\ 825503793b1SChristoph Hellwig \n\ 826503793b1SChristoph Hellwig addq $19,64,$19 \n\ 827503793b1SChristoph Hellwig addq $18,64,$18 \n\ 828503793b1SChristoph Hellwig addq $17,64,$17 \n\ 829503793b1SChristoph Hellwig bgt $16,5b \n\ 830503793b1SChristoph Hellwig \n\ 831503793b1SChristoph Hellwig ret \n\ 832503793b1SChristoph Hellwig .end xor_alpha_prefetch_5 \n\ 833503793b1SChristoph Hellwig "); 834503793b1SChristoph Hellwig 835*80dcf0a7SChristoph Hellwig DO_XOR_BLOCKS(alpha, xor_alpha_2, xor_alpha_3, xor_alpha_4, xor_alpha_5); 836*80dcf0a7SChristoph Hellwig 837503793b1SChristoph Hellwig struct xor_block_template xor_block_alpha = { 838503793b1SChristoph Hellwig .name = "alpha", 839*80dcf0a7SChristoph Hellwig .xor_gen = xor_gen_alpha, 840503793b1SChristoph Hellwig }; 841503793b1SChristoph Hellwig 842*80dcf0a7SChristoph Hellwig DO_XOR_BLOCKS(alpha_prefetch, xor_alpha_prefetch_2, xor_alpha_prefetch_3, 843*80dcf0a7SChristoph Hellwig xor_alpha_prefetch_4, xor_alpha_prefetch_5); 844*80dcf0a7SChristoph Hellwig 845503793b1SChristoph Hellwig struct xor_block_template xor_block_alpha_prefetch = { 846503793b1SChristoph Hellwig .name = "alpha prefetch", 847*80dcf0a7SChristoph Hellwig .xor_gen = xor_gen_alpha_prefetch, 848503793b1SChristoph Hellwig }; 849