blob: fe3ca76dc08a279d845c84a8f67a545efbc64af8 [file] [log] [blame]
Dan Gohman10e730a2015-06-29 23:51:55 +00001// WebAssemblyInstrInfo.td-Describe the WebAssembly Instructions-*- 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
11/// \brief WebAssembly Instruction definitions.
12///
Dan Gohman10e730a2015-06-29 23:51:55 +000013//===----------------------------------------------------------------------===//
14
15//===----------------------------------------------------------------------===//
16// WebAssembly Instruction Predicate Definitions.
17//===----------------------------------------------------------------------===//
18
JF Bastien03855df2015-07-01 23:41:25 +000019def HasAddr32 : Predicate<"!Subtarget->hasAddr64()">;
20def HasAddr64 : Predicate<"Subtarget->hasAddr64()">;
21def HasSIMD128 : Predicate<"Subtarget->hasSIMD128()">,
22 AssemblerPredicate<"FeatureSIMD128", "simd128">;
23
Dan Gohman10e730a2015-06-29 23:51:55 +000024//===----------------------------------------------------------------------===//
25// WebAssembly-specific DAG Node Types.
26//===----------------------------------------------------------------------===//
27
28//===----------------------------------------------------------------------===//
29// WebAssembly-specific DAG Nodes.
30//===----------------------------------------------------------------------===//
31
32//===----------------------------------------------------------------------===//
33// WebAssembly-specific Operands.
34//===----------------------------------------------------------------------===//
35
JF Bastien5ca0bac2015-07-10 18:23:10 +000036/*
37 * TODO(jfb): Add the following.
38 *
39 * get_local: read the current value of a local variable
40 * set_local: set the current value of a local variable
41*/
42
Dan Gohman10e730a2015-06-29 23:51:55 +000043//===----------------------------------------------------------------------===//
44// WebAssembly Instruction Format Definitions.
45//===----------------------------------------------------------------------===//
46
47include "WebAssemblyInstrFormats.td"
48
49//===----------------------------------------------------------------------===//
50// Additional sets of instructions.
51//===----------------------------------------------------------------------===//
52
JF Bastien5ca0bac2015-07-10 18:23:10 +000053include "WebAssemblyInstrMemory.td"
54include "WebAssemblyInstrCall.td"
55include "WebAssemblyInstrInteger.td"
56include "WebAssemblyInstrFloat.td"
57include "WebAssemblyInstrConv.td"
Dan Gohman10e730a2015-06-29 23:51:55 +000058include "WebAssemblyInstrAtomics.td"
59include "WebAssemblyInstrSIMD.td"