diff options
author | Keith Randall <khr@golang.org> | 2014-02-06 17:43:22 -0800 |
---|---|---|
committer | Keith Randall <khr@golang.org> | 2014-02-06 17:43:22 -0800 |
commit | 71aa38d307140035c0094b63118a9978428d530b (patch) | |
tree | 7acadc4236c61a7aaee03292dc30f63c558bad79 /src/cmd | |
parent | 1d9c95cc8e09abb25d999c7fc1add4945249f28b (diff) | |
download | go-71aa38d307140035c0094b63118a9978428d530b.tar.gz |
runtime: faster memclr on x86.
Use explicit SSE writes instead of REP STOSQ.
benchmark old ns/op new ns/op delta
BenchmarkMemclr5 22 5 -73.62%
BenchmarkMemclr16 27 5 -78.49%
BenchmarkMemclr64 28 6 -76.43%
BenchmarkMemclr256 34 8 -74.94%
BenchmarkMemclr4096 112 84 -24.73%
BenchmarkMemclr65536 1902 1920 +0.95%
LGTM=dvyukov
R=golang-codereviews, dvyukov
CC=golang-codereviews
https://codereview.appspot.com/60090044
Diffstat (limited to 'src/cmd')
-rw-r--r-- | src/cmd/8a/lex.c | 1 | ||||
-rw-r--r-- | src/cmd/8l/8.out.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/cmd/8a/lex.c b/src/cmd/8a/lex.c index 96804ac03..af816a00c 100644 --- a/src/cmd/8a/lex.c +++ b/src/cmd/8a/lex.c @@ -781,6 +781,7 @@ struct "PSUBW", LTYPE3, APSUBW, "PUNPCKHQDQ", LTYPE3, APUNPCKHQDQ, "PUNPCKLQDQ", LTYPE3, APUNPCKLQDQ, + "PXOR", LTYPE3, APXOR, "RCPPS", LTYPE3, ARCPPS, "RCPSS", LTYPE3, ARCPSS, "RSQRTPS", LTYPE3, ARSQRTPS, diff --git a/src/cmd/8l/8.out.h b/src/cmd/8l/8.out.h index 8319482ca..748096db1 100644 --- a/src/cmd/8l/8.out.h +++ b/src/cmd/8l/8.out.h @@ -547,6 +547,7 @@ enum as APSUBW, APUNPCKHQDQ, APUNPCKLQDQ, + APXOR, ARCPPS, ARCPSS, ARSQRTPS, |