WebAssemblyInstrMemory.td revision 286425
1286425Sdim// WebAssemblyInstrMemory.td-WebAssembly Memory codegen support -*- tablegen -*- 2286425Sdim// 3286425Sdim// The LLVM Compiler Infrastructure 4286425Sdim// 5286425Sdim// This file is distributed under the University of Illinois Open Source 6286425Sdim// License. See LICENSE.TXT for details. 7286425Sdim// 8286425Sdim//===----------------------------------------------------------------------===// 9286425Sdim/// 10286425Sdim/// \file 11286425Sdim/// \brief WebAssembly Memory operand code-gen constructs. 12286425Sdim/// 13286425Sdim//===----------------------------------------------------------------------===// 14286425Sdim 15286425Sdim/* 16286425Sdim * TODO(jfb): Add the following. 17286425Sdim * Each has optional alignment and immediate byte offset. 18286425Sdim * 19286425Sdim * int32.load_sx[int8]: sign-extend to int32 20286425Sdim * int32.load_sx[int16]: sign-extend to int32 21286425Sdim * int32.load_zx[int8]: zero-extend to int32 22286425Sdim * int32.load_zx[int16]: zero-extend to int32 23286425Sdim * int32.load[int32]: (no conversion) 24286425Sdim * int64.load_sx[int8]: sign-extend to int64 25286425Sdim * int64.load_sx[int16]: sign-extend to int64 26286425Sdim * int64.load_sx[int32]: sign-extend to int64 27286425Sdim * int64.load_zx[int8]: zero-extend to int64 28286425Sdim * int64.load_zx[int16]: zero-extend to int64 29286425Sdim * int64.load_zx[int32]: zero-extend to int64 30286425Sdim * int64.load[int64]: (no conversion) 31286425Sdim * float32.load[float32]: (no conversion) 32286425Sdim * float64.load[float64]: (no conversion) 33286425Sdim * 34286425Sdim * int32.store[int8]: wrap int32 to int8 35286425Sdim * int32.store[int16]: wrap int32 to int16 36286425Sdim * int32.store[int32]: (no conversion) 37286425Sdim * int64.store[int8]: wrap int64 to int8 38286425Sdim * int64.store[int16]: wrap int64 to int16 39286425Sdim * int64.store[int32]: wrap int64 to int32 40286425Sdim * int64.store[int64]: (no conversion) 41286425Sdim * float32.store[float32]: (no conversion) 42286425Sdim * float64.store[float64]: (no conversion) 43286425Sdim * 44286425Sdim * load_global: load the value of a given global variable 45286425Sdim * store_global: store a given value to a given global variable 46286425Sdim */ 47