| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
without SSE)
Closes #1575
PiperOrigin-RevId: 586009018
Change-Id: Icc34c1201268303dde96bfbb067506b861754b3a
|
|
|
|
|
| |
PiperOrigin-RevId: 576884571
Change-Id: I7bfe68e5aedd8563f8e6dbdb5d7cc66e9af22567
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we use "r" constraint to pass prefetched address.
This forces the compiler to actually put it into a register.
As the result some uses look as:
16bfb7c: 48 01 cf add %rcx,%rdi
16bfb7f: 0f 0d 0f prefetchw (%rdi)
--
16bfccf: 48 83 c1 60 add $0x60,%rcx
16bfcd3: 0f 0d 09 prefetchw (%rcx)
Use "m" constraint instead. It's more relaxed and requires
to just materialize the address in some form using whatever
addressing modes the target supports (e.g. x86 off(base, index, scale)).
With the change the same code becomes:
16bfb7c: 0f 0d 0c 39 prefetchw (%rcx,%rdi,1)
--
16bfccf: 0f 0d 49 60 prefetchw 0x60(%rcx)
PiperOrigin-RevId: 574723975
Change-Id: Id0c8645f8c702d1842685343901da321f6513156
|
|
|
|
|
| |
PiperOrigin-RevId: 556914455
Change-Id: Ic0169e1099384eefe285e6d354e448eb5189e397
|
|
|
|
|
|
|
|
|
| |
__builtin_prefetch()
Supporting _m_prefetchw() (officially part of 3DNOW) across various compilers and platforms turns out to be difficult. This change removes the explicit _m_prefetchw call aimed at MSVC compilers given that it causes issues in clang / chromium compilations.
PiperOrigin-RevId: 509632497
Change-Id: Ib1b6b2cf667cbc1af5ed6651cd9aa0294a9265b6
|
|
|
|
|
|
|
| |
not `__builtin_prefetch<addr>, 1, 0)`
PiperOrigin-RevId: 507015724
Change-Id: I99f44fe819c27e6dcc0bb7b36f1a37015c6f1987
|
|
|
|
|
| |
PiperOrigin-RevId: 505184961
Change-Id: I64482558a76abda6896bec4b2d323833b6cd7edf
|
|
PiperOrigin-RevId: 504941246
Change-Id: I94c1e85afd254e84948477b511d41eeb8285fdae
|