Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //byte* p = (byte*)outptr - dist;
- //byte* q = &p[len];
- //for( p=p; p<q; p++ ) put0( *p );
- if( __builtin_expect(dist>=len,1) ) {
- byte* restrict u = outptr - dist;
- byte* restrict v = outptr;
- if( __builtin_expect(((u-((byte*)0))&7)==0,0) ) {
- __assume_aligned(u,8);
- if( __builtin_expect(((v-((byte*)0))&7)==0,0) ) {
- __assume_aligned(v,8);
- for( i=0; __builtin_expect(i<len,0); i+=8 ) (qword&)v[i]=(qword&)u[i];
- } else for( i=0; __builtin_expect(i<len,0); i+=8 ) (qword&)v[i]=(qword&)u[i];
- } else
- if( __builtin_expect(((v-((byte*)0))&7)==0,0) ) {
- __assume_aligned(v,8);
- for( i=0; __builtin_expect(i<len,0); i+=8 ) (qword&)v[i]=(qword&)u[i];
- } else for( i=0; __builtin_expect(i<len,0); i+=8 ) (qword&)v[i]=(qword&)u[i];
- for( i=i; __builtin_expect(i<len,0); i+=1 ) v[i]=u[i];
- } else {
- byte* u = outptr - dist;
- byte* v = outptr;
- for( i=i; __builtin_expect(i<len,1); i+=1 ) v[i]=u[i];
- }
- outptr+=len;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement