[PATCH] D51518: [WebAssembly] Add missing SIMD instruction attributes

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 30 17:37:55 PDT 2018


tlively added inline comments.


================
Comment at: lib/Target/WebAssembly/WebAssemblyInstrSIMD.td:22
 multiclass ConstVec<ValueType vec_t, dag ops, dag pat, string args> {
+  let isMoveImm = 1, isAsCheapAsAMove = 1, isReMaterializable = 1 in
   defm CONST_V128_#vec_t : SIMD_I<(outs V128:$dst), ops, (outs), ops,
----------------
aheejin wrote:
> tlively wrote:
> > I actually have no idea what `isReMaterializable` means, but the other const instructions had it.
> Is `isAsCheapAsAMove` true for this? Because it basically means putting 128-bit worth of values onto the stack.
Not actually sure, especially when you think about what this instruction turns into on the backend. I could imagine that for some embedders this is as cheap as a move and for others it is not.


Repository:
  rL LLVM

https://reviews.llvm.org/D51518





More information about the llvm-commits mailing list