WebAssembly: start instructions
[oota-llvm.git] / lib / Target / WebAssembly / WebAssemblyInstrInfo.td
1 // 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 //===----------------------------------------------------------------------===//
9 //
10 // WebAssembly Instruction definitions.
11 //
12 //===----------------------------------------------------------------------===//
13
14 //===----------------------------------------------------------------------===//
15 // WebAssembly Instruction Predicate Definitions.
16 //===----------------------------------------------------------------------===//
17
18 def HasAddr32 : Predicate<"!Subtarget->hasAddr64()">;
19 def HasAddr64 : Predicate<"Subtarget->hasAddr64()">;
20 def HasSIMD128 : Predicate<"Subtarget->hasSIMD128()">,
21                            AssemblerPredicate<"FeatureSIMD128", "simd128">;
22
23 //===----------------------------------------------------------------------===//
24 // WebAssembly-specific DAG Node Types.
25 //===----------------------------------------------------------------------===//
26
27 //===----------------------------------------------------------------------===//
28 // WebAssembly-specific DAG Nodes.
29 //===----------------------------------------------------------------------===//
30
31 //===----------------------------------------------------------------------===//
32 // WebAssembly-specific Operands.
33 //===----------------------------------------------------------------------===//
34
35 //===----------------------------------------------------------------------===//
36 // WebAssembly Instruction Format Definitions.
37 //===----------------------------------------------------------------------===//
38
39 include "WebAssemblyInstrFormats.td"
40
41 //===----------------------------------------------------------------------===//
42 // Additional sets of instructions.
43 //===----------------------------------------------------------------------===//
44
45 include "WebAssemblyInstrAtomics.td"
46 include "WebAssemblyInstrSIMD.td"