• Clemens Hammacher's avatar
    [assembler][ia32] Don't clobber random registers · c887e40c
    Clemens Hammacher authored
    The fallback for {Pinsrd} and {Pextrd} for the non-avx and non-sse
    variant clobbered the {xmm0} register. This CL fixes this by storing
    the values on the stack and modifying them there instead.
    The alternative would have been to pass in a scratch register. But this
    path is not commonly used and we cannot express in the API whether the
    scratch register is needed or not. So we would sometimes have to spill a
    register to pass it as scratch register even though it is then unused.
    
    R=titzer@chromium.org
    CC=​mstarzinger@chromium.org
    
    Bug: v8:6600
    Change-Id: Ieae53b892cc55eed4fcfa3d0e7f82f3e1afe72be
    Reviewed-on: https://chromium-review.googlesource.com/1219633Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#55800}
    c887e40c
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...