-
Ng Zhi An authored
The existing macro assembler define Pinsrb, which expects 3 arguments: - XMMRegister dst - Register/Operand src - uint8_t imm which overwrites dst with src at lane specified by imm. That means we cannot use the AVX version, which has 4 arguments, and does not overwrite dst. This refactoring defines the 4 argument AVX version instead, and if AVX is not supported, fall back to the SSE version, and ensure that the value is copied over into dst first. For convenience, we define an overload with 3 arguments that duplicates dst, this replicates the SSE behavior, so that not all callers have to be updated. Bug: v8:10975, v8:10933 Change-Id: I6f9b9d37fa08d3f5cff4f040ae7d5e1f0cf36455 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2444096 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70392}
e30c50f3