This is a depessimization, see r334537 for an explanation.
bzero was removed from the kernel but remains in libc. Macroify to accommodate differences to memset (no return value, always setting to 0).
The bzero.S file is left in place due to libc build magic which pulls in a C variant if a matching .S file is missing.