llvm-project/llvm/test/MC/WebAssembly
Thomas Lively d5b7a4e2e8 [WebAssembly] v8x16.swizzle and rewrite BUILD_VECTOR lowering
Summary:
Adds the new v8x16.swizzle SIMD instruction as specified at
https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#swizzling-using-variable-indices.
In addition to adding swizzles as a candidate lowering in
LowerBUILD_VECTOR, also rewrites and simplifies the lowering to
minimize the number of replace_lanes necessary rather than trying to
minimize code size. This leads to more uses of v128.const instead of
splats, which is expected to increase performance.

The new code will be easier to tune once V8 implements all the vector
construction operations, and it will also be easier to add new
candidate instructions in the future if necessary.

Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68527

llvm-svn: 374188
2019-10-09 17:39:19 +00:00
..
annotations.s
array-fill.ll [WebAssembly] Merge used feature sets, update atomics linkage policy 2019-03-29 00:14:01 +00:00
assembler-binary.ll [WebAssembly] Merge used feature sets, update atomics linkage policy 2019-03-29 00:14:01 +00:00
atomics-encodings.s [WebAssembly] Add atomic.fence instruction 2019-08-28 23:13:43 +00:00
bad-fixup-expr.s [WebAssembly][MC] Simplify WasmObjectWriter::recordRelocation. NFC. 2019-08-20 00:33:50 +00:00
basic-assembly-errors.s [WebAssembly] tablegen: distinguish float/int immediate operands. 2019-07-08 16:58:37 +00:00
basic-assembly.s [WebAssembly][MC] Allow empty assembly functions 2019-08-19 19:04:54 +00:00
blockaddress.ll
bss.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
bulk-memory-encodings.s
comdat.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
compile-twice.ll
custom-code-section.ll
custom-sections.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
data-section.s [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
data-symbol-in-text-section.ll [MC][WebAssembly] Error on data symbols in the text section. 2019-09-25 23:33:16 +00:00
debug-info.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
dwarfdump.ll
event-section.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
explicit-sections.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
external-data.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
external-func-address.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
file-headers.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
func-address.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
function-alias.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
function-sections.ll
global-ctor-dtor.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
import-module.ll [WebAssembly] Fix test after r359602 2019-04-30 19:58:56 +00:00
libcall.ll
lit.local.cfg
no-dead-strip.ll [WebAssembly] Make __attribute__((used)) not imply export. 2019-08-29 22:40:00 +00:00
null-output.s
objdump.s [WebAssembly] Rename except_ref type to exnref 2019-07-15 22:49:25 +00:00
offset.ll
reloc-code.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
reloc-data.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
reloc-pic.s [WebAssembly] Fix p2align in assembler. 2019-06-27 18:11:15 +00:00
sections.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
simd-encodings.s [WebAssembly] v8x16.swizzle and rewrite BUILD_VECTOR lowering 2019-10-09 17:39:19 +00:00
stack-ptr.ll
tail-call-encodings.s [WebAssembly] Assembler/InstPrinter: support call_indirect type index. 2019-08-01 18:08:26 +00:00
type-index.s [WebAssembly] Assembler/InstPrinter: support call_indirect type index. 2019-08-01 18:08:26 +00:00
types.ll
unnamed-data.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
visibility.ll [WebAssembly] Merge used feature sets, update atomics linkage policy 2019-03-29 00:14:01 +00:00
weak-alias.ll [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
weak.ll [WebAssembly] Merge used feature sets, update atomics linkage policy 2019-03-29 00:14:01 +00:00