[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