괜히 안 건드는게 맞습니다. (디스어셈블리 확인 후 최적화가 제대로 수행되지 않았을 시 직접 수정합니다) (아키텍쳐에 따라 memset보다 memmove가 더 빠른 경우도 있습니다)
그렇다면 memset()을 호출할 때, 인자로 들어가는 배열의 memory alignment를 보장하고, 128bit 단위용, 256bit 단위용 등 특정 크기의 memset()으로 따로 작성하면 이러한 내부 분기를 줄일 수 있습니다.
예시1
memset_128()
memset_128_aligned()
memset_4096()
memset_4096_aligned()
예시2 https://github.com/blockchain-research-foundation/AVX-Memmove/blob/master/memset.c