[wasm-simd][arm] Improve codegen for any_true
The codegen uses a bunch of vpmax to try and keep set bits around. The datatype for vpmax does not need to change for each instruction, since vpmax U32 will persist set bits just as well. This simplifies the instruction sequences for S1x8 and S1x16 anytrue. I added a test to check a special case when a f64x2 contains -0.0 (top bit set). A previous attempt to optimize codegen used floating point compare, which does not distinguish between 0.0 and -0.0. So -0.0 will compare equals to 0.0, and incorrect return 0 for anytrue. Change-Id: I66013796af08a666009e6b2d774ea7ee7bdfe1ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2203113 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67875}
Showing
Please
register
or
sign in
to comment