[PATCH] D101850: [WebAssembly] Set alignment to 1 for SIMD memory intrinsics

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 4 13:10:36 PDT 2021


tlively created this revision.
tlively added a reviewer: aheejin.
Herald added subscribers: wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100, dschuff.
tlively requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The WebAssembly SIMD intrinsics in wasm_simd128.h generally try not to require
any particular alignment for memory operations to be maximally flexible. For
builtin memory access functions and their corresponding LLVM IR intrinsics,
there's no way to set the expected alignment, so the best we can do is set the
alignment to 1 in the backend. This change means that the alignment hints in the
emitted code will no longer be incorrect when users use the intrinsics to access
unaligned data.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D101850

Files:
  llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  llvm/test/CodeGen/WebAssembly/simd-load-lane-offset.ll
  llvm/test/CodeGen/WebAssembly/simd-load-zero-offset.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101850.342838.patch
Type: text/x-patch
Size: 23767 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210504/8afcde5f/attachment.bin>


More information about the llvm-commits mailing list