-
Zhi An Ng authored
An improvement to generic shuffle improvement (https://crrev.com/c/2152853) required a temporary SIMD register to hold the mask, rather than pushing it onto a stack. The temporary register requires that we UseUniqueRegister on the inputs, to prevent aliasing, as we will write to the temp. However, we only need this for the generic shuffle. We accidentally over-constraint all other pattern matched shuffles, since they don't use any temps. On a ~2000 line function containing ~150 shuffles (not all of which are generic shuffles), we get 16 less instruction in the native code, and actually see a very small improvement in the overall benchmarks. Bug: v8:11270 Change-Id: I09974f7615e4b8f5e2416ed17ca47cc7613fd6b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2591857Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71818}
12e37399