-
Ng Zhi An authored
On most architectures, FP registers overlap with SIMD registers. A FP register holding a double can later be used to hold a 128-bit SIMD value. So, when pushing or popping used registers, we need to push the full width of the SIMD register. In ia32 and x64, we change the instruction from movsd to movdqu, and increment the offset by kSimd128Size. For arm64, we change the size of register when building the CPURegList. For arm, no change is needed, due to the way FP registers are paired up to form a single SIMD register (rather than overlap). Note for ports: PushRegisters and PopRegisters needs to be modified similarly for mips/mips64. ppc and s390 does not implement these methods, no change needed. Bug: v8:9909 Change-Id: If29f1b30d7eface305a0d07a4bc551c151a77a01 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1994383 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65710}
b76d561e