void my_memset(char *a, char c, unsigned n) {
char s[32]={c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c}; while((int)a&31)*a++=c,n--;while(n&127)a[--n]=c;
__asm("vmovaps (%1), %%ymm0; _LAR: vmovaps %%ymm0, (%0); vmovaps %%ymm0, 32(%0); vmovaps %%ymm0, 64(%0); vmovaps %%ymm0, 96(%0); vmovaps %%ymm0, 128(%0); vmovaps %%ymm0, 160(%0); vmovaps %%ymm0, 192(%0); vmovaps %%ymm0, 224(%0); addl $256, %0; subl $1, %2; jnz _LAR; ": : "r"(a), "r"(&s), "r"(n/256): "memory");
}
| Compilation | N/A | N/A | Compile Error | Score: N/A | 显示更多 |