[WebAssembly] v128.const
authorThomas Lively <tlively@google.com>
Tue, 21 Aug 2018 21:03:18 +0000 (21:03 +0000)
committerThomas Lively <tlively@google.com>
Tue, 21 Aug 2018 21:03:18 +0000 (21:03 +0000)
commit22442924a8d1b32473fcfa56f9421b8ae58f7b8b
tree1994d3778485401a3d7f03f54944edeae11826c4
parent61aaa3504f091dfc37bae4b1fb052c4685b236a2
[WebAssembly] v128.const

Summary:
This CL implements v128.const for each vector type. New operand types
are added to ensure the vector contents can be serialized without LEB
encoding. Tests are added for instruction selection, encoding,
assembly and disassembly.

Reviewers: aheejin, dschuff, aardappel

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

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

llvm-svn: 340336
llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
llvm/test/CodeGen/WebAssembly/simd.ll
llvm/test/MC/Disassembler/WebAssembly/wasm.txt
llvm/test/MC/WebAssembly/basic-assembly.s