| Name |
Last commit
|
Last Update |
|---|---|---|
| .github | ||
| CMake | ||
| absl | ||
| ci | ||
| .clang-format | ||
| .gitignore | ||
| ABSEIL_ISSUE_TEMPLATE.md | ||
| AUTHORS | ||
| BUILD.bazel | ||
| CMakeLists.txt | ||
| CONTRIBUTING.md | ||
| FAQ.md | ||
| LICENSE | ||
| README.md | ||
| UPGRADES.md | ||
| WORKSPACE | ||
| conanfile.py | ||
| create_lts.py |
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
| Name |
Last commit
|
Last Update |
|---|---|---|
| .github | Loading commit data... | |
| CMake | Loading commit data... | |
| absl | Loading commit data... | |
| ci | Loading commit data... | |
| .clang-format | Loading commit data... | |
| .gitignore | Loading commit data... | |
| ABSEIL_ISSUE_TEMPLATE.md | Loading commit data... | |
| AUTHORS | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| CONTRIBUTING.md | Loading commit data... | |
| FAQ.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| README.md | Loading commit data... | |
| UPGRADES.md | Loading commit data... | |
| WORKSPACE | Loading commit data... | |
| conanfile.py | Loading commit data... | |
| create_lts.py | Loading commit data... |