This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch hjl/avx512f-mem/master created. glibc-2.22-677-gbb83a13
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Jan 2016 20:44:49 -0000
- Subject: GNU C Library master sources branch hjl/avx512f-mem/master created. glibc-2.22-677-gbb83a13
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/avx512f-mem/master has been created
at bb83a138162885366c6c5b974caa87ac03f33e2c (commit)
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=bb83a138162885366c6c5b974caa87ac03f33e2c
commit bb83a138162885366c6c5b974caa87ac03f33e2c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Jan 15 12:44:13 2016 -0800
Always use prefetchnta with non-temporal stores
diff --git a/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S
index 56e727b..6492c4f 100644
--- a/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S
+++ b/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S
@@ -340,15 +340,15 @@ L(preloop_large):
sub %rdi, %r8
sub %r8, %rsi
add %r8, %rdx
- prefetcht1 (%rsi)
- prefetcht1 0x40(%rsi)
- prefetcht1 0x80(%rsi)
- prefetcht1 0xC0(%rsi)
+ prefetchnta (%rsi)
+ prefetchnta 0x40(%rsi)
+ prefetchnta 0x80(%rsi)
+ prefetchnta 0xC0(%rsi)
L(gobble_256bytes_nt_loop):
- prefetcht1 0x200(%rsi)
- prefetcht1 0x240(%rsi)
- prefetcht1 0x280(%rsi)
- prefetcht1 0x2C0(%rsi)
+ prefetchnta 0x200(%rsi)
+ prefetchnta 0x240(%rsi)
+ prefetchnta 0x280(%rsi)
+ prefetchnta 0x2C0(%rsi)
prefetchnta 0x300(%rsi)
prefetchnta 0x340(%rsi)
prefetchnta 0x380(%rsi)
@@ -383,10 +383,10 @@ L(preloop_large_bkw):
sub %r8, %rdx
add %r9, %r8
L(gobble_256bytes_nt_loop_bkw):
- prefetcht1 -0x300(%rcx)
- prefetcht1 -0x2C0(%rcx)
- prefetcht1 -0x280(%rcx)
- prefetcht1 -0x240(%rcx)
+ prefetchnta -0x300(%rcx)
+ prefetchnta -0x2C0(%rcx)
+ prefetchnta -0x280(%rcx)
+ prefetchnta -0x240(%rcx)
prefetchnta -0x400(%rcx)
prefetchnta -0x3C0(%rcx)
prefetchnta -0x380(%rcx)
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a806d37903f0db0081a49a440b1f3a82f5e65916
commit a806d37903f0db0081a49a440b1f3a82f5e65916
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Jan 15 12:14:18 2016 -0800
Use vmovdqu64 load with vmovntdq store
diff --git a/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S
index 75bc836..56e727b 100644
--- a/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S
+++ b/sysdeps/x86_64/multiarch/memcpy-avx512-no-vzeroupper.S
@@ -353,10 +353,10 @@ L(gobble_256bytes_nt_loop):
prefetchnta 0x340(%rsi)
prefetchnta 0x380(%rsi)
prefetchnta 0x3C0(%rsi)
- vmovups (%rsi), %zmm0
- vmovups 0x40(%rsi), %zmm1
- vmovups 0x80(%rsi), %zmm2
- vmovups 0xC0(%rsi), %zmm3
+ vmovdqu64 (%rsi), %zmm0
+ vmovdqu64 0x40(%rsi), %zmm1
+ vmovdqu64 0x80(%rsi), %zmm2
+ vmovdqu64 0xC0(%rsi), %zmm3
vmovntdq %zmm0, (%rdi)
vmovntdq %zmm1, 0x40(%rdi)
vmovntdq %zmm2, 0x80(%rdi)
@@ -391,10 +391,10 @@ L(gobble_256bytes_nt_loop_bkw):
prefetchnta -0x3C0(%rcx)
prefetchnta -0x380(%rcx)
prefetchnta -0x340(%rcx)
- vmovups -0x100(%rcx), %zmm0
- vmovups -0xC0(%rcx), %zmm1
- vmovups -0x80(%rcx), %zmm2
- vmovups -0x40(%rcx), %zmm3
+ vmovdqu64 -0x100(%rcx), %zmm0
+ vmovdqu64 -0xC0(%rcx), %zmm1
+ vmovdqu64 -0x80(%rcx), %zmm2
+ vmovdqu64 -0x40(%rcx), %zmm3
vmovntdq %zmm0, -0x100(%r9)
vmovntdq %zmm1, -0xC0(%r9)
vmovntdq %zmm2, -0x80(%r9)
-----------------------------------------------------------------------
hooks/post-receive
--
GNU C Library master sources