aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorLynn Boger <laboger@linux.vnet.ibm.com>2021-02-22 09:12:01 -0600
committerIan Lance Taylor <iant@golang.org>2021-02-25 17:01:23 -0800
commit2fbed0dc6c4dffcfd586a990fc3d2aeb7e00d521 (patch)
tree4c32e8e2b504ca2528abaf6d1800db11ed359027 /gcc/builtins.c
parenta505fad4dd4d93b6d642995d7df320aa40949568 (diff)
downloadgcc-2fbed0dc6c4dffcfd586a990fc3d2aeb7e00d521.zip
gcc-2fbed0dc6c4dffcfd586a990fc3d2aeb7e00d521.tar.gz
gcc-2fbed0dc6c4dffcfd586a990fc3d2aeb7e00d521.tar.bz2
libgo: ensure memmove, memset 8 byte atomicity on ppc64x
Go requires that pointer moves are done 8 bytes at a time, but gccgo uses libc's memmove and memset which does not require that, and there are some cases where an 8 byte move might be done as 4+4. To enforce 8 byte moves for memmove and memset, this adds a C implementation in libgo/runtime for memmove and memset to be used on ppc64le and ppc64. Asm implementations were considered but discarded to avoid different implementations for different target ISAs. Fixes golang/go#41428 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/294931
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions