[all-commits] [llvm/llvm-project] ffd8c2: [WebAssembly] Implement truncating vector stores
Thomas Lively via All-commits
all-commits at lists.llvm.org
Tue Jul 28 17:47:04 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ffd8c23ccb74bbd19ba16e3706a0c5e1e472cca6
https://github.com/llvm/llvm-project/commit/ffd8c23ccb74bbd19ba16e3706a0c5e1e472cca6
Author: Thomas Lively <tlively at google.com>
Date: 2020-07-28 (Tue, 28 Jul 2020)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-offset.ll
Log Message:
-----------
[WebAssembly] Implement truncating vector stores
Rather than expanding truncating stores so that vectors are stored one
lane at a time, lower them to a sequence of instructions using
narrowing operations instead, when possible. Since the narrowing
operations have saturating semantics, but truncating stores require
truncation, mask the stored value to manually truncate it before
narrowing. Also, since narrowing is a binary operation, pass in the
original vector as the unused second argument.
Differential Revision: https://reviews.llvm.org/D84377
More information about the All-commits
mailing list