[PATCH] D88773: Reland "[WebAssembly] Emulate v128.const efficiently""
Thomas Lively via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 2 21:05:26 PDT 2020
tlively added a comment.
Thanks all for your help diagnosing and fixing these issues! I decided to go with the bit twiddling solution rather than the corrected type punning solution because it seems simpler overall to not have to think about endianness.
================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp:1589-1602
+ std::array<uint64_t, 2> I64s({{0, 0}});
+ std::array<uint64_t, 2> ConstLaneMasks({{0, 0}});
+ size_t LaneBits = 128 / Lanes;
+ size_t HalfLanes = Lanes / 2;
+ for (size_t I = 0; I < Lanes; ++I) {
+ const SDValue &Lane = Op.getOperand(I);
+ if (IsConstant(Lane)) {
----------------
This is the only part that has changed from the previous revision.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88773/new/
https://reviews.llvm.org/D88773
More information about the llvm-commits
mailing list