| // WebAssemblyInstrInfo.td-Describe the WebAssembly Instructions-*- tablegen -*- |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| /// |
| /// \file |
| /// \brief WebAssembly Instruction definitions. |
| /// |
| //===----------------------------------------------------------------------===// |
| |
| //===----------------------------------------------------------------------===// |
| // WebAssembly Instruction Predicate Definitions. |
| //===----------------------------------------------------------------------===// |
| |
| def HasAddr32 : Predicate<"!Subtarget->hasAddr64()">; |
| def HasAddr64 : Predicate<"Subtarget->hasAddr64()">; |
| def HasSIMD128 : Predicate<"Subtarget->hasSIMD128()">, |
| AssemblerPredicate<"FeatureSIMD128", "simd128">; |
| |
| //===----------------------------------------------------------------------===// |
| // WebAssembly-specific DAG Node Types. |
| //===----------------------------------------------------------------------===// |
| |
| //===----------------------------------------------------------------------===// |
| // WebAssembly-specific DAG Nodes. |
| //===----------------------------------------------------------------------===// |
| |
| //===----------------------------------------------------------------------===// |
| // WebAssembly-specific Operands. |
| //===----------------------------------------------------------------------===// |
| |
| /* |
| * TODO(jfb): Add the following. |
| * |
| * get_local: read the current value of a local variable |
| * set_local: set the current value of a local variable |
| */ |
| |
| //===----------------------------------------------------------------------===// |
| // WebAssembly Instruction Format Definitions. |
| //===----------------------------------------------------------------------===// |
| |
| include "WebAssemblyInstrFormats.td" |
| |
| //===----------------------------------------------------------------------===// |
| // Additional sets of instructions. |
| //===----------------------------------------------------------------------===// |
| |
| include "WebAssemblyInstrMemory.td" |
| include "WebAssemblyInstrCall.td" |
| include "WebAssemblyInstrInteger.td" |
| include "WebAssemblyInstrFloat.td" |
| include "WebAssemblyInstrConv.td" |
| include "WebAssemblyInstrAtomics.td" |
| include "WebAssemblyInstrSIMD.td" |