[PATCH] D90253: [WebAssembly] Prototype extending multiplication SIMD instructions

Thomas Lively via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 28 09:34:19 PDT 2020


tlively added inline comments.


================
Comment at: llvm/include/llvm/IR/IntrinsicsWebAssembly.td:263
+// TODO: Add a new LLVMMatchType that can describe the relationship between the
+// result and parameter types here.
+def int_wasm_extmul_low_signed :
----------------
aheejin wrote:
> It [[ https://github.com/llvm/llvm-project/blob/419168d9381959ec6850e9e87aff9d062b68ef4b/llvm/include/llvm/IR/Intrinsics.td#L221 | seems ]] there is one already? 
Ah, I was confused and thought that one did the opposite of what I needed. Thanks!


================
Comment at: llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp:72
+    OS << uint8_t(Binary >> 16);
+    encodeULEB128(uint16_t(Binary), OS);
+  } else {
----------------
aheejin wrote:
> `encodeULEB128` isn't capable of encoding numbers larger than or equal to 256?
It is capable of encoding any uint64_t value. Large values need extra logic because the prefix byte (which is not part of the LEB128) is in a different location.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90253/new/

https://reviews.llvm.org/D90253



More information about the cfe-commits mailing list