memcmp-sse4.S EqualHappy bug
Andrea Arcangeli
aarcange@redhat.com
Thu Jun 18 16:35:00 GMT 2015
On Thu, Jun 18, 2015 at 05:50:35PM +0200, Torvald Riegel wrote:
> BTW, I'm wondering what your memcmp would actually do internally, and
> what it would guarantee precisely. It can't just use relaxed-MO reads /
That's very simple: it would never return 0 if it didn't finish
comparing all the data according to the length parameter.
If minimal atomic granularity of the arch is 1, and I guarantee the
last byte is never changing and always different between src and dst
region, it would never return 0. It could return any other value but
0. It's undefined if it returns above or below zero (depending on the
modifications) but in no way my memcmp could return 0 for such a
workload. That it can only return non zero is defined by the hardware
and trivial to enforce in the workload of my testcase.
More information about the Libc-alpha
mailing list