// WebAssemblyInstrInteger.td-WebAssembly Integer codegen -------*- 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 Integer operand code-gen constructs. /// //===----------------------------------------------------------------------===// defm ADD : BinaryInt; defm SUB : BinaryInt; defm MUL : BinaryInt; defm SDIV : BinaryInt; defm UDIV : BinaryInt; defm SREM : BinaryInt; defm UREM : BinaryInt; defm AND : BinaryInt; defm IOR : BinaryInt; defm XOR : BinaryInt; defm SHL : BinaryInt; defm SHR : BinaryInt; defm SAR : BinaryInt; /* * TODO(jfb): Add the following for 32-bit and 64-bit. * * int32.eq: signed-less compare equal * int32.slt: signed less than * int32.sle: signed less than or equal * int32.ult: unsigned less than * int32.ule: unsigned less than or equal * int32.sgt: signed greater than * int32.sge: signed greater than or equal * int32.ugt: unsigned greater than * int32.uge: unsigned greater than or equal */ defm CLZ : UnaryInt; defm CTZ : UnaryInt; defm POPCNT : UnaryInt;