WebAssemblyInstrInfo.td revision 286684
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/// \file 11/// \brief WebAssembly Instruction definitions. 12/// 13//===----------------------------------------------------------------------===// 14 15//===----------------------------------------------------------------------===// 16// WebAssembly Instruction Predicate Definitions. 17//===----------------------------------------------------------------------===// 18 19def HasAddr32 : Predicate<"!Subtarget->hasAddr64()">; 20def HasAddr64 : Predicate<"Subtarget->hasAddr64()">; 21def HasSIMD128 : Predicate<"Subtarget->hasSIMD128()">, 22 AssemblerPredicate<"FeatureSIMD128", "simd128">; 23 24//===----------------------------------------------------------------------===// 25// WebAssembly-specific DAG Node Types. 26//===----------------------------------------------------------------------===// 27 28//===----------------------------------------------------------------------===// 29// WebAssembly-specific DAG Nodes. 30//===----------------------------------------------------------------------===// 31 32//===----------------------------------------------------------------------===// 33// WebAssembly-specific Operands. 34//===----------------------------------------------------------------------===// 35 36/* 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 43//===----------------------------------------------------------------------===// 44// WebAssembly Instruction Format Definitions. 45//===----------------------------------------------------------------------===// 46 47include "WebAssemblyInstrFormats.td" 48 49//===----------------------------------------------------------------------===// 50// Additional sets of instructions. 51//===----------------------------------------------------------------------===// 52 53include "WebAssemblyInstrMemory.td" 54include "WebAssemblyInstrCall.td" 55include "WebAssemblyInstrInteger.td" 56include "WebAssemblyInstrFloat.td" 57include "WebAssemblyInstrConv.td" 58include "WebAssemblyInstrAtomics.td" 59include "WebAssemblyInstrSIMD.td" 60