"git@repo.hca.bsc.es:rferrer/llvm-epi.git" did not exist on "23e62c532cabfef36de8d98fa4a58ca3e138a0fd"
[WebAssembly] Emulate v128.const efficiently
v128.const was recently implemented in V8, but until it rolls into Chrome stable, we can't enable it in the WebAssembly backend without breaking origin trial users. So far we have been lowering build_vectors that would otherwise have been lowered to v128.const to splats followed by sequences of replace_lane instructions to initialize each lane individually. That produces large and inefficient code, so this patch introduces new logic to lower integer vector constants to a single i64x2.splat where possible, with at most a single i64x2.replace_lane following it if necessary. Adapted from a patch authored by @omnisip. Differential Revision: https://reviews.llvm.org/D88591
Loading
Please register or sign in to comment