[WebAssembly] Initial SIMD128 support.
authorDerek Schuff <dschuff@google.com>
Tue, 2 Aug 2016 23:16:09 +0000 (23:16 +0000)
committerDerek Schuff <dschuff@google.com>
Tue, 2 Aug 2016 23:16:09 +0000 (23:16 +0000)
commit39bf39f35c208109f6d5907708ee53dee2878bed
tree92c88047132b9387bfac686662ba7d8a3b9e0abc
parent02a1e973a80adce224cd950bb2b5b2c78622829a
[WebAssembly] Initial SIMD128 support.

Kicks off the implementation of wasm SIMD128 support (spec:
https://github.com/stoklund/portable-simd/blob/master/portable-simd.md),
adding support for add, sub, mul for i8x16, i16x8, i32x4, and f32x4.

The spec is WIP, and might change in the near future.

Patch by João Porto

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

llvm-svn: 277543
17 files changed:
llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
llvm/lib/Target/WebAssembly/WebAssembly.td
llvm/lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp
llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td
llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp
llvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp
llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp
llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td
llvm/test/CodeGen/WebAssembly/simd-arith.ll [new file with mode: 0644]