• Michael Munday's avatar
    cmd/compile: optimize comparisons using load merging where available · b65122f9
    Michael Munday authored
    Multi-byte comparison operations were used on amd64, arm64, i386
    and s390x for comparisons with constant arrays, but only amd64 and
    i386 for comparisons with string constants. This CL combines the
    check for platform capability, since they have the same requirements,
    and also enables both on ppc64le which also supports load merging.
    
    Note that these optimizations currently use little endian byte order
    which results in byte reversal instructions on s390x. This should
    be fixed at some point.
    
    Change-Id: Ie612d13359b50c77f4d7c6e73fea4a59fa11f322
    Reviewed-on: https://go-review.googlesource.com/102558
    Run-TryBot: Michael Munday <mike.munday@ibm.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    b65122f9
comparisons.go 3.13 KB