blob: 5ff0ecba0340054e2b03d3f0151a9b95a9b45e4e [file] [log] [blame]
Dan Gohman10e730a2015-06-29 23:51:55 +00001// WebAssemblyInstrSIMD.td - WebAssembly SIMD codegen support -*- tablegen -*-//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
JF Bastien5ca0bac2015-07-10 18:23:10 +00009///
10/// \file
Adrian Prantl5f8f34e42018-05-01 15:54:18 +000011/// WebAssembly SIMD operand code-gen constructs.
JF Bastien5ca0bac2015-07-10 18:23:10 +000012///
Dan Gohman10e730a2015-06-29 23:51:55 +000013//===----------------------------------------------------------------------===//
14
Derek Schuff51ed1312018-08-07 21:24:01 +000015let Defs = [ARGUMENTS] in {
16
17let isCommutable = 1 in
18defm ADD : SIMDBinaryInt<add, "add ", 24>;
19defm SUB : SIMDBinaryInt<sub, "sub ", 28>;
20let isCommutable = 1 in
21defm MUL : SIMDBinaryInt<mul, "mul ", 32>;
22
23let isCommutable = 1 in
24defm ADD : SIMDBinaryFP<fadd, "add ", 122>;
25defm SUB : SIMDBinaryFP<fsub, "sub ", 124>;
26defm DIV : SIMDBinaryFP<fdiv, "div ", 126>;
27let isCommutable = 1 in
28defm MUL : SIMDBinaryFP<fmul, "mul ", 128>;
29
30} // Defs = [ARGUMENTS]